mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-06-26 14:24:40 +00:00
lsp/presets: add option to use PATH julia instead of bundling
also changes docs under languages/julia
This commit is contained in:
parent
4d990efc21
commit
cdbb2bdeb0
2 changed files with 18 additions and 6 deletions
|
|
@ -51,12 +51,15 @@ in {
|
||||||
The entirety of Julia is bundled with nvf, if you enable this
|
The entirety of Julia is bundled with nvf, if you enable this
|
||||||
option, since there is no way to provide only the LSP server.
|
option, since there is no way to provide only the LSP server.
|
||||||
|
|
||||||
If you want to avoid that, you have to change
|
Since the LSP server is a julia package that needs to be bundled
|
||||||
{option}`vim.lsp.servers.julials.cmd` to use
|
within a Julia binary, there is no way for us to provide only the
|
||||||
the Julia binary in {env}`PATH`, and add the `LanguageServer`
|
LSP server. By default, you'll just have to add the `LanguageServer`
|
||||||
package to Julia in your devshells.
|
package to Julia in your devshells (or general environment), and be
|
||||||
|
good to go.
|
||||||
|
|
||||||
Check the source file of this option for the full `cmd`.
|
If you want to have the entirety of Julia bundled within nvf, you can
|
||||||
|
change {option}`vim.lsp.servers.presets.julia-languageserver.usePathBin`
|
||||||
|
to `false` to have nvf bundle julia and the lsp.
|
||||||
:::
|
:::
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,22 @@
|
||||||
inherit (lib.meta) getExe;
|
inherit (lib.meta) getExe;
|
||||||
inherit (lib.modules) mkIf;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.nvim.types) mkLspPresetEnableOption;
|
inherit (lib.nvim.types) mkLspPresetEnableOption;
|
||||||
|
inherit (lib.nvim.config) mkBool;
|
||||||
inherit (lib.generators) mkLuaInline;
|
inherit (lib.generators) mkLuaInline;
|
||||||
inherit (lib.nvim.dag) entryBefore;
|
inherit (lib.nvim.dag) entryBefore;
|
||||||
|
|
||||||
cfg = config.vim.lsp.presets.julia-languageserver;
|
cfg = config.vim.lsp.presets.julia-languageserver;
|
||||||
|
julials_bin =
|
||||||
|
if cfg.usePathBin
|
||||||
|
then "julia"
|
||||||
|
else getExe (pkgs.julia-bin.withPackages ["LanguageServer"]);
|
||||||
in {
|
in {
|
||||||
options.vim.lsp.presets.julia-languageserver = {
|
options.vim.lsp.presets.julia-languageserver = {
|
||||||
enable = mkLspPresetEnableOption "julia-languageserver" "Julia" [];
|
enable = mkLspPresetEnableOption "julia-languageserver" "Julia" [];
|
||||||
|
usePathBin = mkBool true ''
|
||||||
|
use julia taken from PATH, instead of bundling it within nvf.
|
||||||
|
You'll need to add "LanguageServer" to your Julia instance for this to work
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
@ -23,7 +32,7 @@ in {
|
||||||
root_markers = ["Project.toml" "JuliaProject.toml"];
|
root_markers = ["Project.toml" "JuliaProject.toml"];
|
||||||
cmd = mkLuaInline ''
|
cmd = mkLuaInline ''
|
||||||
{
|
{
|
||||||
'${getExe (pkgs.julia.withPackages ["LanguageServer"])}',
|
'${julials_bin}',
|
||||||
'--startup-file=no',
|
'--startup-file=no',
|
||||||
'--history-file=no',
|
'--history-file=no',
|
||||||
'-e',
|
'-e',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue