diff options
Diffstat (limited to 'start/lspconfig-0.1.8/lua/lspconfig/server_configurations/apex_ls.lua')
-rw-r--r-- | start/lspconfig-0.1.8/lua/lspconfig/server_configurations/apex_ls.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/apex_ls.lua b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/apex_ls.lua new file mode 100644 index 0000000..baea475 --- /dev/null +++ b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/apex_ls.lua @@ -0,0 +1,46 @@ +local util = require 'lspconfig.util' + +return { + default_config = { + filetypes = { 'apexcode' }, + root_dir = util.root_pattern 'sfdx-project.json', + on_new_config = function(config) + if not config.cmd and config.apex_jar_path then + config.cmd = { + vim.env.JAVA_HOME and util.path.join(vim.env.JAVA_HOME, 'bin', 'java') or 'java', + '-cp', + config.apex_jar_path, + '-Ddebug.internal.errors=true', + '-Ddebug.semantic.errors=' .. tostring(config.apex_enable_semantic_errors or false), + '-Ddebug.completion.statistics=' .. tostring(config.apex_enable_completion_statistics or false), + '-Dlwc.typegeneration.disabled=true', + } + if config.apex_jvm_max_heap then + table.insert(config.cmd, '-Xmx' .. config.apex_jvm_max_heap) + end + table.insert(config.cmd, 'apex.jorje.lsp.ApexLanguageServerLauncher') + end + end, + }, + docs = { + description = [[ +https://github.com/forcedotcom/salesforcedx-vscode + +Language server for Apex. + +For manual installation, download the JAR file from the [VSCode +extension](https://github.com/forcedotcom/salesforcedx-vscode/tree/develop/packages/salesforcedx-vscode-apex). + +```lua +require'lspconfig'.apex_ls.setup { + apex_jar_path = '/path/to/apex-jorje-lsp.jar', + apex_enable_semantic_errors = false, -- Whether to allow Apex Language Server to surface semantic errors + apex_enable_completion_statistics = false, -- Whether to allow Apex Language Server to collect telemetry on code completion usage +} +``` +]], + default_config = { + root_dir = [[root_pattern('sfdx-project.json')]], + }, + }, +} |