From 85751d46ee487572341808e083b9bf0c20639d9e Mon Sep 17 00:00:00 2001 From: azerr Date: Tue, 10 Jun 2025 13:18:20 +0200 Subject: [PATCH] feat: add Omnisharp Roslyn Signed-off-by: azerr --- .../templates/lsp/omnisharp-roslyn/README.md | 5 ++ .../lsp/omnisharp-roslyn/clientSettings.json | 11 ++++ .../lsp/omnisharp-roslyn/installer.json | 53 +++++++++++++++++++ .../lsp/omnisharp-roslyn/settings.json | 1 + .../lsp/omnisharp-roslyn/settings.schema.json | 1 + .../lsp/omnisharp-roslyn/template.json | 20 +++++++ 6 files changed, 91 insertions(+) create mode 100644 src/main/resources/templates/lsp/omnisharp-roslyn/README.md create mode 100644 src/main/resources/templates/lsp/omnisharp-roslyn/clientSettings.json create mode 100644 src/main/resources/templates/lsp/omnisharp-roslyn/installer.json create mode 100644 src/main/resources/templates/lsp/omnisharp-roslyn/settings.json create mode 100644 src/main/resources/templates/lsp/omnisharp-roslyn/settings.schema.json create mode 100644 src/main/resources/templates/lsp/omnisharp-roslyn/template.json diff --git a/src/main/resources/templates/lsp/omnisharp-roslyn/README.md b/src/main/resources/templates/lsp/omnisharp-roslyn/README.md new file mode 100644 index 000000000..cb560aa17 --- /dev/null +++ b/src/main/resources/templates/lsp/omnisharp-roslyn/README.md @@ -0,0 +1,5 @@ +You can use [Clojure LSP](https://clojure-lsp.io/) to edit Clojure files, by following these instructions: + +* [Download the asset compatible with your OS](https://github.com/clojure-lsp/clojure-lsp/releases) + * After unzipping the asset, reference the file (ex : `clojure-lsp.exe` for Windows OS) in the Command prompt. + \ No newline at end of file diff --git a/src/main/resources/templates/lsp/omnisharp-roslyn/clientSettings.json b/src/main/resources/templates/lsp/omnisharp-roslyn/clientSettings.json new file mode 100644 index 000000000..784fb12fb --- /dev/null +++ b/src/main/resources/templates/lsp/omnisharp-roslyn/clientSettings.json @@ -0,0 +1,11 @@ +{ + "caseSensitive": true, + "lineCommentPrefix": ";", + "completion": { + "useContextAwareSorting": true, + "useTemplateForInvocationOnlySnippet": false + }, + "workspaceSymbol": { + "supportsGotoClass": true + } +} \ No newline at end of file diff --git a/src/main/resources/templates/lsp/omnisharp-roslyn/installer.json b/src/main/resources/templates/lsp/omnisharp-roslyn/installer.json new file mode 100644 index 000000000..232f11d9c --- /dev/null +++ b/src/main/resources/templates/lsp/omnisharp-roslyn/installer.json @@ -0,0 +1,53 @@ +{ + "id": "omnisharp-roslyn", + "name": "Omnisharp Roslyn", + "executeOnStartServer": false, + "check": { + "exec": { + "name": "Trying current command", + "command": "${server.command}", + "timeout": 2000 + } + }, + "run": { + "download": { + "name": "Download Omnisharp Roslyn", + "github": { + "owner": "OmniSharp", + "repository": "omnisharp-roslyn", + "prerelease": false, + "asset": { + "windows": { + "x86_64": "omnisharp-win-x64.zip", + "x86": "omnisharp-win-x86.zip", + "arm64": "omnisharp-win-arm64.zip" + }, + "unix": { + "x86_64": "omnisharp-linux-x86.zip", + "amd64": "omnisharp-linux-x64.zip", + "arm64": "omnisharp-linux-arm64.zip" + }, + "mac": "omnisharp-osx.zip" + } + }, + "output": { + "dir": "$USER_HOME$/.lsp4ij/lsp/omnisharp-roslyn", + "file": { + "name": { + "windows": "OmniSharp.exe", + "unix": "OmniSharp", + "mac": "OmniSharp" + }, + "executable": true + } + }, + "onSuccess": { + "configureServer": { + "name": "Configure Omnisharp Roslyn server command", + "command": "${output.dir}/${output.file.name} --languageserver", + "update": true + } + } + } + } +} diff --git a/src/main/resources/templates/lsp/omnisharp-roslyn/settings.json b/src/main/resources/templates/lsp/omnisharp-roslyn/settings.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/src/main/resources/templates/lsp/omnisharp-roslyn/settings.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/main/resources/templates/lsp/omnisharp-roslyn/settings.schema.json b/src/main/resources/templates/lsp/omnisharp-roslyn/settings.schema.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/src/main/resources/templates/lsp/omnisharp-roslyn/settings.schema.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/main/resources/templates/lsp/omnisharp-roslyn/template.json b/src/main/resources/templates/lsp/omnisharp-roslyn/template.json new file mode 100644 index 000000000..1e375aba0 --- /dev/null +++ b/src/main/resources/templates/lsp/omnisharp-roslyn/template.json @@ -0,0 +1,20 @@ +{ + "id": "omnisharp-roslyn", + "name": "Omnisharp Roslyn", + "programArgs": { + "windows": "\"OmniSharp --languageserver\"", + "default": "\"OmniSharp --languageserver\"" + }, + "expandConfiguration": true, + "fileTypeMappings": [ + { + "fileType": { + "name": "CSharp", + "patterns": [ + "*.cs" + ] + }, + "languageId": "clojure" + } + ] +} \ No newline at end of file