mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 08:35:43 +02:00
plugins/lsp/jsonnet-ls: init
This commit is contained in:
parent
db93efffdb
commit
ea5078fc10
4 changed files with 110 additions and 0 deletions
|
@ -248,6 +248,13 @@ let
|
||||||
];
|
];
|
||||||
settings = cfg: { json = cfg; };
|
settings = cfg: { json = cfg; };
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "jsonnet-ls";
|
||||||
|
description = "jsonnet language server";
|
||||||
|
package = pkgs.jsonnet-language-server;
|
||||||
|
serverName = "jsonnet_ls";
|
||||||
|
settingsOptions = import ./jsonnet-ls-settings.nix { inherit lib helpers; };
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "julials";
|
name = "julials";
|
||||||
description = "julials for Julia";
|
description = "julials for Julia";
|
||||||
|
|
77
plugins/lsp/language-servers/jsonnet-ls-settings.nix
Normal file
77
plugins/lsp/language-servers/jsonnet-ls-settings.nix
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
{ lib, helpers }:
|
||||||
|
# Options:
|
||||||
|
# - https://github.com/grafana/jsonnet-language-server/tree/main/editor/vim
|
||||||
|
# - https://github.com/grafana/jsonnet-language-server/blob/main/pkg/server/configuration.go
|
||||||
|
# - https://github.com/google/go-jsonnet/blob/master/internal/formatter/jsonnetfmt.go#L55
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
ext_vars = helpers.defaultNullOpts.mkAttrsOf types.str { } ''
|
||||||
|
External variables.
|
||||||
|
'';
|
||||||
|
|
||||||
|
formatting = {
|
||||||
|
Indent = helpers.defaultNullOpts.mkUnsignedInt 2 ''
|
||||||
|
The number of spaces for each level of indenation.
|
||||||
|
'';
|
||||||
|
|
||||||
|
MaxBlankLines = helpers.defaultNullOpts.mkUnsignedInt 2 ''
|
||||||
|
Max allowed number of consecutive blank lines.
|
||||||
|
'';
|
||||||
|
|
||||||
|
StringStyle =
|
||||||
|
helpers.defaultNullOpts.mkEnum
|
||||||
|
[
|
||||||
|
"double"
|
||||||
|
"single"
|
||||||
|
"leave"
|
||||||
|
]
|
||||||
|
"single"
|
||||||
|
''
|
||||||
|
Whether strings should use double quotes `"`, single quotes `'`, or be left as-is.
|
||||||
|
'';
|
||||||
|
|
||||||
|
CommentStyle =
|
||||||
|
helpers.defaultNullOpts.mkEnum
|
||||||
|
[
|
||||||
|
"hash"
|
||||||
|
"slash"
|
||||||
|
"leave"
|
||||||
|
]
|
||||||
|
"slash"
|
||||||
|
''
|
||||||
|
Whether comments should use hash `#`, slash `//`, or be left as-is.
|
||||||
|
'';
|
||||||
|
|
||||||
|
PrettyFieldNames = helpers.defaultNullOpts.mkBool true ''
|
||||||
|
Causes fields to only be wrapped in `'''` when needed.
|
||||||
|
'';
|
||||||
|
|
||||||
|
PadArrays = helpers.defaultNullOpts.mkBool false ''
|
||||||
|
Causes arrays to be written like `[ this ]` instead of `[this]`.
|
||||||
|
'';
|
||||||
|
|
||||||
|
PadObjects = helpers.defaultNullOpts.mkBool true ''
|
||||||
|
Causes objects to be written like `{ this }` instead of `{this}`.
|
||||||
|
'';
|
||||||
|
|
||||||
|
SortImports = helpers.defaultNullOpts.mkBool true ''
|
||||||
|
Causes imports at the top of the file to be sorted in groups by filename.
|
||||||
|
'';
|
||||||
|
|
||||||
|
UseImplicitPlus = helpers.defaultNullOpts.mkBool true ''
|
||||||
|
Removes plus sign where it is not required.
|
||||||
|
'';
|
||||||
|
|
||||||
|
StripEverything = helpers.defaultNullOpts.mkBool false ''
|
||||||
|
Removes all comments and newlines.
|
||||||
|
'';
|
||||||
|
|
||||||
|
StripComments = helpers.defaultNullOpts.mkBool false ''
|
||||||
|
Removes all comments.
|
||||||
|
'';
|
||||||
|
|
||||||
|
StripAllButComments = helpers.defaultNullOpts.mkBool false ''
|
||||||
|
Removes everything, other than comments.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -143,6 +143,7 @@
|
||||||
htmx.enable = true;
|
htmx.enable = true;
|
||||||
java-language-server.enable = true;
|
java-language-server.enable = true;
|
||||||
jsonls.enable = true;
|
jsonls.enable = true;
|
||||||
|
jsonnet-ls.enable = true;
|
||||||
julials.enable = true;
|
julials.enable = true;
|
||||||
kotlin-language-server.enable = true;
|
kotlin-language-server.enable = true;
|
||||||
leanls.enable = true;
|
leanls.enable = true;
|
||||||
|
|
25
tests/test-sources/plugins/lsp/language-servers/jsonnet.nix
Normal file
25
tests/test-sources/plugins/lsp/language-servers/jsonnet.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
example = {
|
||||||
|
plugins.lsp = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
servers.jsonnet-ls = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
Indent = 4;
|
||||||
|
MaxBlankLines = 10;
|
||||||
|
StringStyle = "single";
|
||||||
|
CommentStyle = "leave";
|
||||||
|
PrettyFieldNames = true;
|
||||||
|
PadArrays = false;
|
||||||
|
PadObjects = true;
|
||||||
|
SortImports = false;
|
||||||
|
UseImplicitPlus = true;
|
||||||
|
StripEverything = false;
|
||||||
|
StripComments = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue