diff --git a/build.sbt b/build.sbt index 7ac3084..d01972c 100644 --- a/build.sbt +++ b/build.sbt @@ -1,7 +1,10 @@ import ReleaseTransformations._ -intellijPluginName in ThisBuild := "intellij-dhall" -intellijBuild in ThisBuild := "193.4778.7" +ThisBuild / intellijPluginName := "intellij-dhall" + +// Choose the version by searching for "idea-community-build-zip" +// in https://www.jetbrains.com/intellij-repository/releases +ThisBuild / intellijBuild := "251.23774.435" //"2025.1" //"251.26094.121" releaseProcess := Seq[ReleaseStep]( checkSnapshotDependencies, @@ -24,23 +27,22 @@ lazy val dhall = project .in(file(".")) .enablePlugins(SbtIdeaPlugin) .settings( - scalaVersion := "2.13.1", - scalaSource in Compile := baseDirectory.value / "src" / "main" / "scala", - scalaSource in Test := baseDirectory.value / "src" / "test" / "scala", + scalaVersion := "2.13.14", + Compile / scalaSource := baseDirectory.value / "src" / "main" / "scala", + Test / scalaSource := baseDirectory.value / "src" / "test" / "scala", ideBasePackages := Seq("org.intellij.plugins.dhall"), - unmanagedSourceDirectories in Compile += baseDirectory.value / "gen", - resourceDirectory in Compile := baseDirectory.value / "resources", + Compile / unmanagedSourceDirectories += baseDirectory.value / "gen", + Compile / resourceDirectory := baseDirectory.value / "resources", packageMethod := PackagingMethod.Standalone(targetPath = s"lib/${name.value}-${(ThisBuild / version).value}.jar"), patchPluginXml := pluginXmlOptions { xml => xml.version = (ThisBuild / version).value xml.sinceBuild = (ThisBuild / intellijBuild).value }, - intellijExternalPlugins += IntellijPlugin - .Id("PsiViewer", Some("193-SNAPSHOT"), None), + //intellijRuntimePlugins += "idea.plugin.psiviewer".toPlugin, // Fails to download. libraryDependencies ++= Seq( "com.novocode" % "junit-interface" % "0.11" % Test ) ) -lazy val runner = createRunnerProject(dhall, "dhall-runner") +//lazy val runner = createRunnerProject(dhall) diff --git a/project/build.properties b/project/build.properties index e7c6f8a..331a838 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version = 1.3.7 \ No newline at end of file +sbt.version = 1.9.7 \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt index 80402cf..3f48106 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,3 +1,3 @@ -addSbtPlugin("org.jetbrains" % "sbt-idea-plugin" % "3.4.0") -addSbtPlugin("org.jetbrains" % "sbt-ide-settings" % "1.0.0") -addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13") +addSbtPlugin("org.jetbrains" % "sbt-idea-plugin" % "4.0.4") +addSbtPlugin("org.jetbrains.scala" % "sbt-ide-settings" % "1.1.2") +addSbtPlugin("com.github.sbt" % "sbt-release" % "1.4.0") diff --git a/src/main/scala/org/intellij/plugins/dhall/_DhallLexer.flex b/src/main/scala/org/intellij/plugins/dhall/_DhallLexer.flex index 99eeb0a..5714d0c 100644 --- a/src/main/scala/org/intellij/plugins/dhall/_DhallLexer.flex +++ b/src/main/scala/org/intellij/plugins/dhall/_DhallLexer.flex @@ -22,6 +22,9 @@ import static org.intellij.plugins.dhall.psi.DhallTypes.*; %type IElementType %unicode +EOL=\R +WHITE_SPACE=\s+ + TAB=\x09 SPACE=\x20 DOUBLE_QUOTE=\x22 @@ -43,102 +46,104 @@ VALID_NON_ASCII=[\u0080-\uD7FF\uE000-\uFFFD\U010000-\U01FFFD\U020000-\U02FFFD\U0 %% { - "!" { return EXCLAMATION; } - "#" { return HASH_SIGN; } - "$" { return DOLLAR; } - "%" { return PERCENT; } - "&" { return AMPERSAND; } - "'" { return SINGLE_QUOTE; } - "(" { return LEFT_PAREN; } - ")" { return RIGHT_PAREN; } - "*" { return ASTERISK; } - "+" { return PLUS; } - "," { return COMMA; } - "-" { return MINUS; } - "." { return DOT; } - "/" { return SLASH; } - "0" { return ZERO; } - "1" { return ONE; } - "2" { return TWO; } - "3" { return THREE; } - "4" { return FOUR; } - "5" { return FIVE; } - "6" { return SIX; } - "7" { return SEVEN; } - "8" { return EIGHT; } - "9" { return NINE; } - ":" { return COLON; } - ";" { return SEMICOLON; } - "<" { return LT; } - "=" { return EQUALS; } - ">" { return GT; } - "?" { return QUESTION; } - "@" { return AT; } - "A" { return UA; } - "B" { return UB; } - "C" { return UC; } - "D" { return UD; } - "E" { return UE; } - "F" { return UF; } - "I" { return UI; } - "K" { return UK; } - "L" { return UL; } - "M" { return UM; } - "N" { return UN; } - "O" { return UO; } - "S" { return US; } - "T" { return UT; } - "Z" { return UZ; } - "[" { return LEFT_SQUARE_BRACKET; } - "]" { return RIGHT_SQUARE_BRACKET; } - "^" { return CIRCUMFLEX; } - "_" { return UNDERSCORE; } - "a" { return A; } - "b" { return B; } - "c" { return C; } - "d" { return D; } - "e" { return E; } - "f" { return F; } - "g" { return G; } - "h" { return H; } - "i" { return I; } - "k" { return K; } - "l" { return L; } - "m" { return M; } - "n" { return N; } - "o" { return O; } - "p" { return P; } - "r" { return R; } - "s" { return S; } - "t" { return T; } - "u" { return U; } - "v" { return V; } - "w" { return W; } - "x" { return X; } - "y" { return Y; } - "{" { return LEFT_BRACE; } - "|" { return PIPE; } - "}" { return RIGHT_BRACE; } - "~" { return TILDE; } + {WHITE_SPACE} { return WHITE_SPACE; } + + "!" { return EXCLAMATION; } + "#" { return HASH_SIGN; } + "$" { return DOLLAR; } + "%" { return PERCENT; } + "&" { return AMPERSAND; } + "'" { return SINGLE_QUOTE; } + "(" { return LEFT_PAREN; } + ")" { return RIGHT_PAREN; } + "*" { return ASTERISK; } + "+" { return PLUS; } + "," { return COMMA; } + "-" { return MINUS; } + "." { return DOT; } + "/" { return SLASH; } + "0" { return ZERO; } + "1" { return ONE; } + "2" { return TWO; } + "3" { return THREE; } + "4" { return FOUR; } + "5" { return FIVE; } + "6" { return SIX; } + "7" { return SEVEN; } + "8" { return EIGHT; } + "9" { return NINE; } + ":" { return COLON; } + ";" { return SEMICOLON; } + "<" { return LT; } + "=" { return EQUALS; } + ">" { return GT; } + "?" { return QUESTION; } + "@" { return AT; } + "A" { return UA; } + "B" { return UB; } + "C" { return UC; } + "D" { return UD; } + "E" { return UE; } + "F" { return UF; } + "I" { return UI; } + "K" { return UK; } + "L" { return UL; } + "M" { return UM; } + "N" { return UN; } + "O" { return UO; } + "S" { return US; } + "T" { return UT; } + "Z" { return UZ; } + "[" { return LEFT_SQUARE_BRACKET; } + "]" { return RIGHT_SQUARE_BRACKET; } + "^" { return CIRCUMFLEX; } + "_" { return UNDERSCORE; } + "a" { return A; } + "b" { return B; } + "c" { return C; } + "d" { return D; } + "e" { return E; } + "f" { return F; } + "g" { return G; } + "h" { return H; } + "i" { return I; } + "k" { return K; } + "l" { return L; } + "m" { return M; } + "n" { return N; } + "o" { return O; } + "p" { return P; } + "r" { return R; } + "s" { return S; } + "t" { return T; } + "u" { return U; } + "v" { return V; } + "w" { return W; } + "x" { return X; } + "y" { return Y; } + "{" { return LEFT_BRACE; } + "|" { return PIPE; } + "}" { return RIGHT_BRACE; } + "~" { return TILDE; } - {TAB} { return TAB; } - {SPACE} { return SPACE; } - {DOUBLE_QUOTE} { return DOUBLE_QUOTE; } - {UALPHA} { return UALPHA; } - {BACKSLASH} { return BACKSLASH; } - {GRAVE} { return GRAVE; } - {LALPHA} { return LALPHA; } - {DELETE} { return DELETE; } - {UNICODE_FORALL} { return UNICODE_FORALL; } - {UNICODE_COMBINE} { return UNICODE_COMBINE; } - {UNICODE_COMBINE_TYPES} { return UNICODE_COMBINE_TYPES; } - {UNICODE_EQUIVALENT} { return UNICODE_EQUIVALENT; } - {UNICODE_PREFER} { return UNICODE_PREFER; } - {UNICODE_LAMBDA} { return UNICODE_LAMBDA; } - {UNICODE_ARROW} { return UNICODE_ARROW; } - {NEW_LINE} { return NEW_LINE; } - {CARRIAGE_RETURN} { return CARRIAGE_RETURN; } - {VALID_NON_ASCII} { return VALID_NON_ASCII; } + {TAB} { return TAB; } + {SPACE} { return SPACE; } + {DOUBLE_QUOTE} { return DOUBLE_QUOTE; } + {UALPHA} { return UALPHA; } + {BACKSLASH} { return BACKSLASH; } + {GRAVE} { return GRAVE; } + {LALPHA} { return LALPHA; } + {DELETE} { return DELETE; } + {UNICODE_FORALL} { return UNICODE_FORALL; } + {UNICODE_COMBINE} { return UNICODE_COMBINE; } + {UNICODE_COMBINE_TYPES} { return UNICODE_COMBINE_TYPES; } + {UNICODE_EQUIVALENT} { return UNICODE_EQUIVALENT; } + {UNICODE_PREFER} { return UNICODE_PREFER; } + {UNICODE_LAMBDA} { return UNICODE_LAMBDA; } + {UNICODE_ARROW} { return UNICODE_ARROW; } + {NEW_LINE} { return NEW_LINE; } + {CARRIAGE_RETURN} { return CARRIAGE_RETURN; } + {VALID_NON_ASCII} { return VALID_NON_ASCII; } } diff --git a/version.sbt b/version.sbt index d9bc6ce..4423176 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "0.0.4-SNAPSHOT" +ThisBuild / version := "0.0.4-SNAPSHOT"