From e49b5ae9ced73562a744cfe0fac2405a66b80aee Mon Sep 17 00:00:00 2001 From: Max Rydahl Andersen Date: Sun, 26 Sep 2021 23:02:30 +0200 Subject: [PATCH] fix jbang java and add jshell variant --- langs/jbang.yaml | 45 ++++---------- langs/jbangjshell.yaml | 131 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+), 32 deletions(-) create mode 100644 langs/jbangjshell.yaml diff --git a/langs/jbang.yaml b/langs/jbang.yaml index ff052d6..966ff8a 100644 --- a/langs/jbang.yaml +++ b/langs/jbang.yaml @@ -1,20 +1,24 @@ id: "jbang" -name: "JBang" +name: "Java w/JBang" monacoLang: java install: + prepare: + apt: + - default-jdk apt: - default-jdk - clang-format manual: | + install -d "${pkg}/usr/local/bin" + curl -Ls https://sh.jbang.dev | bash -s - app setup + cp ~/.jbang/bin/* "${pkg}/usr/local/bin/" + install -d "${pkg}/opt/jdt" wget https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz tar -xf jdt-language-server-latest.tar.gz -C "${pkg}/opt/jdt" - - - main: "Main.java" template: | public class Main { @@ -24,7 +28,7 @@ template: | } run: | - curl -Ls https://sh.jbang.dev | bash -s - Main.java + jbang Main.java format: run: | @@ -44,29 +48,6 @@ lsp: start: | java -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dlog.level=ALL -noverify -Xmx1G -jar /opt/jdt/plugins/org.eclipse.equinox.launcher_*.jar -configuration "$PWD/jdt" -data "$PWD" --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED init: - bundles: - - /opt/jdt/bundles/com.microsoft.java.test.plugin-0.19.0.jar - - /opt/jdt/bundles/com.microsoft.jdtls.ext.core-0.5.1.jar - - /opt/jdt/bundles/dg.jdt.ls.decompiler.cfr-0.0.2-201802221740.jar - - /opt/jdt/bundles/dg.jdt.ls.decompiler.common-0.0.2-201802221740.jar - - /opt/jdt/bundles/dg.jdt.ls.decompiler.fernflower-0.0.2-201802221740.jar - - /opt/jdt/bundles/dg.jdt.ls.decompiler.procyon-0.0.2-201802221740.jar - - /opt/jdt/bundles/io.projectreactor.reactor-core.jar - - /opt/jdt/bundles/java.debug.plugin.jar - - /opt/jdt/bundles/jdt-ls-commons.jar - - /opt/jdt/bundles/jdt-ls-extension.jar - - /opt/jdt/bundles/org.reactivestreams.reactive-streams.jar - extendedClientCapabilities: - advancedExtractRefactoringSupport: true - advancedGenerateAccessorsSupport: true - advancedOrganizeImportsSupport: true - classFileContentsSupport: true - generateConstructorsPromptSupport: true - generateToStringPromptSupport: true - hashCodeEqualsPromptSupport: true - moveRefactoringSupport: true - overrideMethodsPromptSupport: true - progressReportProvider: true settings: java: autobuild: @@ -130,16 +111,16 @@ lsp: - '**/archetype-resources/**' - '**/META-INF/maven/**' gradle: - enabled: true + enabled: false wrapper: - enabled: true + enabled: false maven: - enabled: true + enabled: false maven: downloadSources: false maxConcurrentBuilds: 1 progressReports: - enabled: true + enabled: false referencesCodeLens: enabled: false saveActions: diff --git a/langs/jbangjshell.yaml b/langs/jbangjshell.yaml new file mode 100644 index 0000000..d980e95 --- /dev/null +++ b/langs/jbangjshell.yaml @@ -0,0 +1,131 @@ +id: "jbangjshell" +name: "JShell" +monacoLang: java + +install: + prepare: + apt: + - default-jdk + apt: + - default-jdk + - clang-format + manual: | + install -d "${pkg}/usr/local/bin" + curl -Ls https://sh.jbang.dev | bash -s - app setup + cp ~/.jbang/bin/* "${pkg}/usr/local/bin/" + + install -d "${pkg}/opt/jdt" + + wget https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz + tar -xf jdt-language-server-latest.tar.gz -C "${pkg}/opt/jdt" + +main: "Main.jsh" +template: | + System.out.println("Hello, world!"); + +run: | + jbang Main.jsh + +repl: | + jbang --interactive Main.jsh + +format: + run: | + clang-format --style="{BasedOnStyle: llvm, IndentWidth: 4}" --assume-filename=Format.java + input: | + System.out.println("Hello, world!"); + +lsp: + setup: | + rm -rf jdt && cp -RT /opt/jdt/config_linux jdt + start: | + java -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dlog.level=ALL -noverify -Xmx1G -jar /opt/jdt/plugins/org.eclipse.equinox.launcher_*.jar -configuration "$PWD/jdt" -data "$PWD" --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED + init: + settings: + java: + autobuild: + enabled: true + codeGeneration: + generateComments: false + hashCodeEquals: + useInstanceof: false + useJava7Objects: false + toString: + codeStyle: STRING_CONCATENATION + limitElements: 0 + listArrayContents: true + skipNullValues: false + template: ${object.className} [${member.name()}=${member.value}, ${otherMembers}] + useBlocks: false + completion: + enabled: true + favoriteStaticMembers: + - org.junit.Assert.* + - org.junit.Assume.* + - org.junit.jupiter.api.Assertions.* + - org.junit.jupiter.api.Assumptions.* + - org.junit.jupiter.api.DynamicContainer.* + - org.junit.jupiter.api.DynamicTest.* + - org.mockito.Mockito.* + - org.mockito.ArgumentMatchers.* + - org.mockito.Answers.* + filteredTypes: + - java.awt.* + - com.sun.* + guessMethodArguments: true + importOrder: + - java + - javax + - com + - org + overwrite: true + configuration: + checkProjectSettingsExclusions: true + updateBuildConfiguration: automatic + dependency: + packagePresentation: flat + errors: + incompleteClasspath: + severity: warning + foldingRange: + enabled: true + format: + comments: + enabled: true + enabled: true + onType: + enabled: true + implementationsCodeLens: + enabled: false + import: + exclusions: + - '**/node_modules/**' + - '**/.metadata/**' + - '**/archetype-resources/**' + - '**/META-INF/maven/**' + gradle: + enabled: false + wrapper: + enabled: false + maven: + enabled: false + maven: + downloadSources: false + maxConcurrentBuilds: 1 + progressReports: + enabled: false + referencesCodeLens: + enabled: false + saveActions: + organizeImports: false + selection: + enabled: true + signatureHelp: + enabled: true + trace: + server: "off" + code: "TODO" + item: "TODO" + +skip: + - lsp