aboutsummaryrefslogtreecommitdiffstats
path: root/lua
Commit message (Collapse)AuthorAgeFilesLines
...
* docs: hyperlink formatting #1970Simon Weiß2022-06-211-1/+1
|
* fix(ocamllsp): update install instructions (#1966)oemmerson2022-06-191-1/+0
| | | There are stable releases of OCaml-LSP in the the Opam package manager now, it no longer has to be pinned from Git.
* fix(arduino_language_server): update setup docs #1964William Boman2022-06-181-24/+37
| | | | | | | | | | | Since [1] it is now mandatory to provide the '-cli' and '-clangd' flags as their default values were removed. It is no longer possible to start the server without these. The '-fqbn' flag was also missing from the lspconfig docs, and per my own testing and previous investigations [2] it is also a mandatory flag. [1] https://github.com/arduino/arduino-language-server/commit/387a275a243e205ffe3da8400f5cbf5ecc6fa167 [2] https://github.com/williamboman/nvim-lsp-installer/blob/main/lua/nvim-lsp-installer/servers/arduino_language_server/README.md#necessary-extra-configuration
* fix(lspinfo): trim newlines in root_dir pattern (#1962)William Boman2022-06-181-1/+4
|
* fix(docs): fix the usage of ln to make symbolic links of ↵Yang Shen2022-06-181-1/+1
| | | | compile_commands.json (#1961)
* docs(metals): update metals instructions (#1959)Chris Kipp2022-06-161-12/+2
| | | | | | | | | | | | - Updates link to the metals website - Removes the instructions about manual bootstrapping I removed these instructions because with `cs install metals` there is no reason to manually bootstrap it, we actually discourage it. Especially now that we are on a new Scala version (2.13), the old instructions including Scala 2.12 will fail. When using `cs install`, all of this is just handled for you. `nvim-metals` is still the path we recommend for any metals users.
* feat: use official jdtls wrapper script #1833Agorgianitis Loukas2022-06-151-51/+31
|
* fix(taplo): update cargo install command (#1958)Jonathan Lopez2022-06-151-1/+1
|
* feat(php): phan #1953DrWursterich2022-06-141-0/+40
|
* feat: add configuration for ghdl-ls VHDL language server (#1812)Xiretza2022-06-141-0/+22
|
* docs(eslint): reformatting (#1956)Michael Härtl2022-06-141-5/+6
|
* docs: unverbose, mention "settings" paramJustin M. Keyes2022-06-131-3/+8
| | | | | | | | | | | | | | | | | Problem: - The docs are verbose. - The "settings" param is not really clarified anywhere. Solution: - Mention the "settings" param in the README. - Tighten up the wording. - Remove the "Use a loop to conveniently call 'setup'..." advice in the docs. It confuses users and doesn't really save much code. - Start to reduce the scope of nvim-lspconfig. - For example, it is redundant for it to document general LSP things. Thus, the help section *lspconfig-lsp* was removed. closes #1951
* fix(purescript-language-server): root dir for Nix files #1954toastal2022-06-121-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | As seen in the source code: https://github.com/nwolverson/purescript-language-server/blob/db5584d79e698b02e3df12a1299d5f93262bd5ee/src/LanguageServer/IdePurescript/Main.purs#L391 Nix-related files were added to the Language server to establish the root. This commit looks to mimic that behavior. The PureScript community has a lot of Nix-positive users and tooling. Additionally the docs were updated:: * Reflect the new `root_dir` + `root_pattern` list * Include a list of ways to install the language server to your project * Remove the specific, problematic npm install command because ** Globally installing these tools is a bad practice as teams should maintain consistent versions in their projects and users are less likely to remember to upgrade global packages; new documentation suggests to add it to your project, but it doesn’t _not_ say to install it globally if desired ** npm is _not_ the only JavaScript package manager ** JavaScript package managers are not the only way to get the language server ** Unrelated but technically incorrect: the block was labeled as a shell script despite it being a shell session (code block syntax `sh` should be `console`)
* feat(lspinfo): explain root directory not found #1939William Boman2022-06-091-2/+35
|
* fix(svlangserver): don't use custom project setting resolution (#1948)William Boman2022-06-081-12/+11
|
* feat: add cuda support for clangd (#1947)DragonBillow2022-06-071-1/+1
|
* feat: add tilt_ls (#1941)William Boman2022-06-061-0/+26
|
* feat: add Marksman markdown LSP, retire zeta-note (#1946)Artem Pyanykh2022-06-062-22/+29
| | | | | Zeta-Note was retired. Marksman is a successor to the original project, but now instead of being a "**Zettelkasten LSP** that happened to be in Markdown" it's a "**Markdown LSP** that *also* supports Zettelkasten-like note-taking'.
* feat: add visualforce_ls (#1945)William Boman2022-06-061-0/+38
|
* feat: add svlangserver support (#1916)HenryHsieh2022-06-031-0/+66
|
* feat: add apex_ls #1940William Boman2022-06-031-0/+46
|
* fix(dartls): explicitly pass the protocol to dartls (#1943)Christopher Fujino2022-06-031-1/+1
| | | | | Explicitly pass `--protocol=lsp` to the Dart LSP server. Fixes #1942 Works around upstream issue dart-lang/sdk#49157
* style: fix bad formatting (#1944)Peter Lithammer2022-06-023-6/+6
|
* fix: no-argument :LspStop, :LspRestart with standalone files #1785Rishikesh Vaishnav2022-06-012-3/+12
| | | | | | | The no-argument versions of `:LspStop` and `:LspRestart` currently only apply to buffers that have a valid root directory. It seems that these commands should stop/restart all clients, including those associated with standalone files. Closes #1784
* refactor(grammarly): use new, official, npm package (#1924)William Boman2022-06-011-4/+4
|
* fix(lspconfig.lua): lintJustin M. Keyes2022-06-011-1/+1
|
* feat: added wgsl_analyzer support (#1925)Dmitry Kudryavtsev2022-06-011-0/+30
|
* docs(graphql): fix docs on root_dir defaults (#1923)Michael Härtl2022-06-011-1/+1
|
* fix(denols): update settings for lint and tsconfig #1933David2022-05-301-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | - Linting is now enabled by default https://deno.com/blog/v1.22#linting-enabled-by-default-in-the-lsp so it should not be turned off in these settings - `tsconfig` is an outdated way to make any config changes in Deno and should not be used: https://deno.land/manual/typescript/configuration#configuring-typescript-in-deno > ⚠️ Deno v1.14 started supporting a more general configuration file that is no > longer confined to specifying TypeScript compiler settings. Using > tsconfig.json as a file name will still work, but we recommend to use > deno.json or deno.jsonc @jason0x43 agreed in the previous thread: https://github.com/neovim/nvim-lspconfig/pull/1321#issuecomment-1024191242 > Currently, deno only looks for deno.json, deno.jsonc, tsconfig.json, or .git > to determine the root. I think dropping tsconfig.json makes sense because Deno > now has it's own preferred config file name. Having .git seems reasonable > enough because projects will often be in git repos. I could even see enabling > single_file mode by default for the Deno LS since making simple CLI tools is > (theoretically) a standard use case. If this pull request is accepted then the docs can also be simplified: https://deno.land/manual/getting_started/setup_your_environment#neovim-06-and-nvim-lspconfig
* fix: buffer may be invalid during on_attach #1822Tomasz N2022-05-221-8/+10
| | | on_attach is a nontrivial callback so it makes sense to check the bufnr.
* feat: add :LspLog command #1917William Boman2022-05-221-0/+7
|
* docs(volar): Improve config example for monorepos (#1909)Michael Härtl2022-05-201-11/+22
|
* docs(sumneko_lua): fix usage of runtime_path (#1915)Michael Adler2022-05-201-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two ways for sumneko to search for files, namely: 1. Lua.runtime.path When using `require`, how to find the file based on the input name. Setting this config to `?/init.lua` means that when you enter `require 'myfile'`, `${workspace}/myfile/init.lua` will be searched from the loaded files. if `runtime.pathStrict` is `false`, `${workspace}/**/myfile/init.lua` will also be searched. If you want to load files outside the workspace, you need to set `Lua.workspace.library` first. 2. Lua.workspace.library In addition to the current workspace, which directories will load files from. The files in these directories will be treated as externally provided code libraries, and some features (such as renaming fields) will not modify these files. The crucial point is that `Lua.runtime.path` only applies to the *current* workspace. Thus it makes no sense to add any absolute directories here. Absolute directories must be added to workspace.library, which is already the case. The default value provided by sumneko is what you typically would expect, so we can just stick to it. References: - github.com/sumneko/lua-language-server/blob/076dd3e5c4e03f9cef0c57/locale/en-us/setting.lua#L5-L13 - github.com/sumneko/lua-language-server/blob/e62d964ff57cc0b37eb90831/script/config/config.lua#L151
* fix(beancount): fix beancount start command and filetype (#1879)hateonion2022-05-171-5/+3
| | | | | | | | | * fix(beancount): fix beancount start command and config * fix: update beancount config * fix: add single_file_support back * fix: fix lint
* fix(fortls): update server and default cmd args (#1904)gnikit2022-05-151-6/+18
|
* fix(dartls): use a more concise command (#1906)Gavin Zhao2022-05-151-29/+1
| | | | | | | Dart supports a much simpler way of invoking the language server: `dart language-server`. See https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server/tool/lsp_spec#running-the-server Signed-off-by: Gavin Zhao <git@gzgz.dev>
* fix(jsonnet_ls): merge cmd_env instead of ovdrriding it entirely #1559William Boman2022-05-121-3/+6
|
* fix(glint): add more files to root_dir patternWilliam Boman2022-05-061-1/+8
| | | | | | Sourced from the @glint/config package README[1] [1]: https://github.com/typed-ember/glint/blob/main/packages/config/README.md#config-specification
* fix(glint): detect project dir inside `on_new_config` hook rather than at ↵William Boman2022-05-062-4/+18
| | | | module import
* feat: glint-language-server #1890Moacir P. de Sá Pereira2022-05-051-0/+48
|
* feat(configs): use client capabilities by default, deep-extend user-provided ↵jdrouhard2022-05-044-19/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | capabilities #1889 Previously, vim.lsp.protocol.make_client_capabilities() was used if no capabilities were specified in either the user-provided config or the default config (base or server). Now, the base default config table has a capabilities key with the value of make_client_capabilities(). When creating the finalized configuration for a server, it simply uses the finalized config which is the user-provided config deep extended by the default config (which now contains the default capabilities). This means that users will no longer have to create their own customized capabilities tables seeded from vim.lsp.protocol.make_client_capabilities(). They simply need to create the parts that are new or different from the defaults and pass that as the capabilities. The rest of the defaults are filled in automatically. For this to work properly, some tbl_extend calls were changed to tbl_deep_extend. tbl_extend will not recursively update nested tables, so using it wipes out any server provided defaults in nested config keys (such as capabilities) and won't properly fill in the "rest" of the capabilities if the user provided a smaller capabilities key in their config. Changing to tbl_deep_extend ensures server-specific configuration values are preserved and that the finalized config at least contains defaults for all client-supported capabilities. For example, clangd's config default has: ``` local default_capabilities = { textDocument = { completion = { editsNearCursor = true, }, }, offsetEncoding = { 'utf-8', 'utf-16' }, } ``` Prior to this commit, this was the full vim.lsp.protocol.make_client_capabilities() extended with those extra values. However, if a user provided their _own_ capabilities to the setup() function, tbl_extend wiped these extra values out and replaced it with the users' capabilities, which was likely only vim.lsp.protocol.make_client_capabilities() with some _other_ tweaks. Now, clangd can simply provide the extras, and the setup() function will normalize the config with all of user-provided, server-specific, and base default capabilities.
* ocamllsp: add support for the dune filetype (#1884)Török Edwin2022-05-021-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ocamllsp: add dune as supported language ocaml-lsp-server-1.11.3 enables 'dune' rpc integration (you need a running `dune build --watch` command which provides the RPC server). This allows to reformat `dune` files, and to see `dune` and other build errors as soon as you change a file (e.g. quite useful on newly created files which would otherwise show an LSP error until first build). Signed-off-by: Edwin Török <edwin@etorok.net> * ocamllsp: dune-project and dune-workspace also mark roots Although most dune projects will also have a *.opam file, this file might be generated by the build system. Newer versions of dune have a dune-project file to mark the root though, and users can create a dune-workspace file as well. Note that `dune` files themselves do NOT mark the root: they can be present in subdirs too. The rules on how `dune` itself finds the root are documented here: https://dune.readthedocs.io/en/stable/usage.html#finding-the-root "The root of the current workspace is determined by looking up a dune-workspace or dune-project file in the current directory and its parent directories. Dune requires at least one of these two files to operate." Signed-off-by: Edwin Török <edwin@etorok.net>
* fix(eslint): add missing root_pattern (#1869)Anton2022-04-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Even though this file name was removed from the official docs https://eslint.org/docs/user-guide/configuring/configuration-files#configuration-file-formats Eslint still supports the older `.eslintrc` and it is used in tests https://github.com/eslint/eslint/blob/9ecd42f36462331a0d697e74323a4d24f0cf02fc/tests/fixtures/.eslintrc The loading is done by the legacy package `@eslint/eslintrc` that is still used by eslint itself ``` ~/Documents/repositories/eslint $ npm instll && rg '".eslintrc"' ./node_modules/@eslint/eslintrc/lib -B 6 ./node_modules/@eslint/eslintrc/lib/config-array-factory.js 66-const configFilenames = [ 67- ".eslintrc.js", 68- ".eslintrc.cjs", 69- ".eslintrc.yaml", 70- ".eslintrc.yml", 71- ".eslintrc.json", 72: ".eslintrc", ```
* docs(zeta_note): fix quotation mark style (#1867)yhu2662022-04-261-1/+1
|
* docs(esbonio): fix URL to option docs (#1866)yhu2662022-04-261-1/+1
| | | The option docs have been moved to a new page.
* docs(reason_ls): remove invalid comment regarding cmd (#1864)William Boman2022-04-261-7/+0
|
* fix(zeta_note): add cmd (#1863)William Boman2022-04-261-7/+1
|
* fix(vls): add cmd (#1862)William Boman2022-04-261-11/+1
|
* fix(ccls): .git as fallback when detecting project root (#1860)Alexandru Geană2022-04-251-2/+11
|
* Revert "fix(ccls): remove .git from root_dir" (#1857)Michael Lingelbach2022-04-251-2/+2
|