Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dotfiles
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tim van Deurzen
dotfiles
Commits
42ddd058
Commit
42ddd058
authored
Dec 20, 2022
by
Tim van Deurzen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Latest updates.
parent
a920a0b6
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
850 additions
and
563 deletions
+850
-563
doom-emacs/config.el
doom-emacs/config.el
+1
-1
doom-emacs/packages.el
doom-emacs/packages.el
+1
-1
gitconfig
gitconfig
+10
-1
neovim/after/ftplugin/go.lua
neovim/after/ftplugin/go.lua
+0
-30
neovim/init.lua
neovim/init.lua
+2
-0
neovim/lua/core/init.lua
neovim/lua/core/init.lua
+3
-2
neovim/lua/keybindings/compe.lua
neovim/lua/keybindings/compe.lua
+146
-42
neovim/lua/keybindings/which_key.lua
neovim/lua/keybindings/which_key.lua
+1
-1
neovim/lua/lsp/init.lua
neovim/lua/lsp/init.lua
+340
-294
neovim/lua/plugins/init.lua
neovim/lua/plugins/init.lua
+314
-185
neovim/lua/snippets/init.lua
neovim/lua/snippets/init.lua
+5
-0
neovim/lua/treesitter/init.lua
neovim/lua/treesitter/init.lua
+27
-6
No files found.
doom-emacs/config.el
View file @
42ddd058
...
...
@@ -72,7 +72,7 @@
org-agenda-skip-deadline-if-done
t
org-agenda-skip-scheduled-if-done
t
org-clock-rounding-minutes
5
org-clock-rounding-minutes
1
5
org-clock-persist
t
org-clock-in-resume
t
org-clock-persist-query-resume
nil
...
...
doom-emacs/packages.el
View file @
42ddd058
...
...
@@ -9,7 +9,7 @@
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
(
package!
evil-colemak-basics
)
(
package!
evil-colemak-basics
:recipe
(
:branch
"main"
)
)
(
package!
org-super-agenda
)
...
...
gitconfig
View file @
42ddd058
...
...
@@ -2,6 +2,12 @@
email = tim@kompiler.org
name = Tim van Deurzen
[includeIf "gitdir:~/src/blockport/"]
path = ~/src/blockport/.gitconfig_bux
[includeIf "gitdir:~/src/bux/"]
path = ~/src/bux/.gitconfig_bux
[alias]
co = checkout
br = branch
...
...
@@ -15,12 +21,15 @@
[url "ssh://git@gitlab.dopey.blockport.io"]
insteadOf = https://gitlab.dopey.blockport.io
[url "ssh://git@github.com-vdeurzen-bux/buxapp"]
insteadOf = https://github.com/buxapp
[core]
editor = nvim
pager = delta
[delta]
features = line-numbers decorations
side-by-side
features = line-numbers decorations
plus-style = "syntax bold auto"
minus-style = "syntax bold italic auto"
syntax-theme = "gruvbox-light"
...
...
neovim/after/ftplugin/go.lua
deleted
100644 → 0
View file @
a920a0b6
local
lsp_config
=
require
(
"lspconfig"
)
local
capabilities
=
vim
.
lsp
.
protocol
.
make_client_capabilities
()
capabilities
=
require
(
"cmp_nvim_lsp"
).
update_capabilities
(
capabilities
)
capabilities
.
textDocument
.
completion
.
completionItem
.
snippetSupport
=
true
lsp_config
.
gopls
.
setup
({
capabilities
=
capabilities
,
settings
=
{
gopls
=
{
experimentalPostfixCompletions
=
true
,
analyses
=
{
fieldalignment
=
true
,
nilness
=
true
,
unusedwrite
=
true
,
unusedparams
=
true
,
shadow
=
true
,
unreachable
=
true
,
bools
=
true
,
},
staticcheck
=
true
,
usePlaceholders
=
true
,
codelenses
=
{
gc_details
=
true
,
},
},
},
})
vim
.
cmd
(
'set noexpandtab'
)
neovim/init.lua
View file @
42ddd058
...
...
@@ -4,3 +4,5 @@ require("keybindings")
require
(
"plugins"
)
require
(
"lsp"
)
require
(
"treesitter"
)
require
(
"snippets"
)
require
(
"automagic"
)
neovim/lua/core/init.lua
View file @
42ddd058
...
...
@@ -10,6 +10,7 @@ end
local
function
basic_configuration
()
local
options
=
{
winbar
=
"%=%m %f"
;
hidden
=
true
;
fileformats
=
"unix,mac,dos"
;
modeline
=
true
;
...
...
@@ -31,7 +32,7 @@ local function basic_configuration()
termguicolors
=
true
;
background
=
"dark"
;
ttyfast
=
true
;
lazyredraw
=
true
;
--
lazyredraw = true;
listchars
=
"tab:»·,nbsp:+,trail:·,extends:→,precedes:←"
;
showcmd
=
true
;
ruler
=
true
;
...
...
@@ -42,7 +43,7 @@ local function basic_configuration()
wildmenu
=
true
;
wildignore
=
"*.o,*.class,*.hi,*.pdf,*.git,*.blg,*.bbl,*.aux,*.gcno,*.gcda"
;
showmode
=
true
;
laststatus
=
2
;
laststatus
=
3
;
scrolloff
=
7
;
cmdheight
=
2
;
tabpagemax
=
100
;
...
...
neovim/lua/keybindings/compe.lua
View file @
42ddd058
...
...
@@ -2,50 +2,154 @@ local lspkind = require("lspkind")
lspkind
.
init
()
local
cmp_autopairs
=
require
(
"nvim-autopairs.completion.cmp"
)
local
luasnip
=
require
(
"luasnip"
)
local
cmp
=
require
(
"cmp"
)
local
has_words_before
=
function
()
local
line
,
col
=
unpack
(
vim
.
api
.
nvim_win_get_cursor
(
0
))
return
col
~=
0
and
vim
.
api
.
nvim_buf_get_lines
(
0
,
line
-
1
,
line
,
true
)[
1
]:
sub
(
col
,
col
):
match
(
"%s"
)
==
nil
end
local
t
=
function
(
str
)
return
vim
.
api
.
nvim_replace_termcodes
(
str
,
true
,
true
,
true
)
end
cmp
.
setup
({
snippet
=
{
expand
=
function
(
args
)
--require("luasnip").lsp_expand(args.body)
require
(
"snippy"
).
expand_snippet
(
args
.
body
)
end
,
},
mapping
=
{
[
"<C-d>"
]
=
cmp
.
mapping
(
cmp
.
mapping
.
scroll_docs
(
-
4
),
{
"i"
,
"c"
}),
[
"<C-f>"
]
=
cmp
.
mapping
(
cmp
.
mapping
.
scroll_docs
(
4
),
{
"i"
,
"c"
}),
[
"<C-e>"
]
=
cmp
.
mapping
({
i
=
cmp
.
mapping
.
abort
(),
c
=
cmp
.
mapping
.
close
(),
}),
},
sources
=
cmp
.
config
.
sources
({
{
name
=
"nvim_lsp"
},
{
name
=
"nvim_lua"
},
{
name
=
"path"
},
{
name
=
"snippy"
},
{
name
=
"buffer"
,
keyword_length
=
5
},
}),
formatting
=
{
format
=
lspkind
.
cmp_format
({
with_text
=
true
,
menu
=
{
buffer
=
"[buf]"
,
nvim_lsp
=
"[LSP]"
,
nvim_lua
=
"[api]"
,
path
=
"[path]"
,
luasnip
=
"[snip]"
,
},
}),
},
experimental
=
{
native_menu
=
false
,
ghost_text
=
true
,
},
snippet
=
{
expand
=
function
(
args
)
luasnip
.
lsp_expand
(
args
.
body
)
--require("snippy").expand_snippet(args.body)
end
,
},
mapping
=
{
[
"<C-d>"
]
=
cmp
.
mapping
.
scroll_docs
(
-
4
),
[
"<C-f>"
]
=
cmp
.
mapping
.
scroll_docs
(
2
),
[
'<Down>'
]
=
cmp
.
mapping
(
cmp
.
mapping
.
select_next_item
({
behavior
=
cmp
.
SelectBehavior
.
Select
}),
{
'i'
}),
[
'<Up>'
]
=
cmp
.
mapping
(
cmp
.
mapping
.
select_prev_item
({
behavior
=
cmp
.
SelectBehavior
.
Select
}),
{
'i'
}),
[
'<C-n>'
]
=
cmp
.
mapping
({
c
=
function
()
if
cmp
.
visible
()
then
cmp
.
select_next_item
({
behavior
=
cmp
.
SelectBehavior
.
Select
})
elseif
luasnip
.
expand_or_jumpable
()
then
luasnip
.
expand_or_jump
()
elseif
has_words_before
()
then
cmp
.
complete
()
else
vim
.
api
.
nvim_feedkeys
(
t
(
'<Down>'
),
'n'
,
true
)
end
end
,
i
=
function
(
fallback
)
if
cmp
.
visible
()
then
cmp
.
select_next_item
({
behavior
=
cmp
.
SelectBehavior
.
Select
})
elseif
luasnip
.
expand_or_jumpable
()
then
luasnip
.
expand_or_jump
()
elseif
has_words_before
()
then
cmp
.
complete
()
else
fallback
()
end
end
}),
[
'<C-p>'
]
=
cmp
.
mapping
({
c
=
function
()
if
cmp
.
visible
()
then
cmp
.
select_prev_item
({
behavior
=
cmp
.
SelectBehavior
.
Select
})
elseif
luasnip
.
jumpable
(
-
1
)
then
luasnip
.
jump
(
-
1
)
else
vim
.
api
.
nvim_feedkeys
(
t
(
'<Up>'
),
'n'
,
true
)
end
end
,
i
=
function
(
fallback
)
if
cmp
.
visible
()
then
cmp
.
select_prev_item
({
behavior
=
cmp
.
SelectBehavior
.
Select
})
elseif
luasnip
.
jumpable
(
-
1
)
then
luasnip
.
jump
(
-
1
)
else
fallback
()
end
end
}),
[
"<C-e>"
]
=
cmp
.
mapping
.
close
(),
[
"<c-y>"
]
=
cmp
.
mapping
.
confirm
({
behavior
=
cmp
.
ConfirmBehavior
.
Insert
,
select
=
true
,
}),
[
"<c-q>"
]
=
cmp
.
mapping
.
confirm
({
behavior
=
cmp
.
ConfirmBehavior
.
Replace
,
select
=
true
,
}),
-- ["<CR>"] = cmp.mapping.confirm({ select = true }),
-- ["<Tab>"] = cmp.mapping(function(fallback)
-- if cmp.visible() then
-- cmp.select_next_item()
-- elseif luasnip.expand_or_jumpable() then
-- luasnip.expand_or_jump()
-- elseif has_words_before() then
-- cmp.complete()
-- else
-- fallback()
-- end
-- end, {
-- "i",
-- "s",
-- }),
-- ["<S-Tab>"] = cmp.mapping(function(fallback)
-- if cmp.visible() then
-- cmp.select_prev_item()
-- elseif luasnip.jumpable(-1) then
-- luasnip.jump(-1)
-- else
-- fallback()
-- end
-- end, {
-- "i",
-- "s",
-- }),
},
sources
=
cmp
.
config
.
sources
({
{
name
=
"nvim_lsp"
},
{
name
=
"luasnip"
},
{
name
=
"nvim_lua"
},
{
name
=
"path"
},
--{ name = "snippy" },
{
name
=
"buffer"
,
keyword_length
=
5
},
}),
formatting
=
{
format
=
lspkind
.
cmp_format
({
with_text
=
true
,
menu
=
{
buffer
=
"[buf]"
,
nvim_lsp
=
"[LSP]"
,
nvim_lua
=
"[api]"
,
path
=
"[path]"
,
luasnip
=
"[snip]"
,
},
}),
},
sorting
=
{
comparators
=
{
cmp
.
config
.
compare
.
offset
,
cmp
.
config
.
compare
.
exact
,
cmp
.
config
.
compare
.
score
,
cmp
.
config
.
compare
.
kind
,
cmp
.
config
.
compare
.
sort_text
,
cmp
.
config
.
compare
.
length
,
cmp
.
config
.
compare
.
order
,
},
},
experimental
=
{
native_menu
=
false
,
ghost_text
=
true
,
},
})
cmp
.
event
:
on
(
"confirm_done"
,
cmp_autopairs
.
on_confirm_done
({
map_char
=
{
tex
=
""
}
}))
neovim/lua/keybindings/which_key.lua
View file @
42ddd058
...
...
@@ -31,7 +31,7 @@ local keymap = {
r
=
{
"<Cmd>lua vim.lsp.buf.rename()<CR>"
,
"rename"
},
s
=
{
"<Cmd>lua vim.lsp.buf.references()<CR>"
,
"find"
},
p
=
{
"<cmd>lua vim.lsp.buf.hover()<CR>"
,
"preview definition"
},
f
=
{
"<Cmd>lua vim.lsp.buf.format
ting(
)<CR>"
,
"format"
},
f
=
{
"<Cmd>lua vim.lsp.buf.format
({ async = true }
)<CR>"
,
"format"
},
d
=
{
"<Cmd>lua vim.lsp.buf.definition()<CR>"
,
"go to definition"
},
i
=
{
"<Cmd>lua vim.lsp.buf.implementation()<CR>"
,
"go to definition"
},
t
=
{
"<Cmd>LspTroubleToggle lsp_workspace_diagnostics<CR>"
,
"open LspTrouble"
},
...
...
neovim/lua/lsp/init.lua
View file @
42ddd058
local
lsp_config
=
require
(
"lspconfig"
)
-- local ih = require("inlay-hints")
--
-- ih.setup({
-- only_current_line = true,
-- eol = {
-- right_align = true,
-- right_align_padding = 10,
-- }
-- })
-- lsp_lines includes a better solution, disabled to avoid double diags.
vim
.
diagnostic
.
config
({
virtual_text
=
false
,
})
local
capabilities
=
vim
.
lsp
.
protocol
.
make_client_capabilities
()
capabilities
=
require
(
"cmp_nvim_lsp"
).
update
_capabilities
(
capabilities
)
capabilities
=
require
(
"cmp_nvim_lsp"
).
default
_capabilities
(
capabilities
)
capabilities
.
textDocument
.
completion
.
completionItem
.
snippetSupport
=
true
lsp_config
.
terraformls
.
setup
({})
lsp_config
.
java_language_server
.
setup
({
cmd
=
{
"/usr/bin/java-language-server"
},
})
lsp_config
.
gopls
.
setup
({
capabilities
=
capabilities
,
settings
=
{
gopls
=
{
experimentalPostfixCompletions
=
true
,
analyses
=
{
fieldalignment
=
true
,
nilness
=
true
,
unusedwrite
=
true
,
unusedparams
=
true
,
shadow
=
true
,
unreachable
=
true
,
bools
=
true
,
},
staticcheck
=
true
,
usePlaceholders
=
true
,
codelenses
=
{
gc_details
=
true
,
},
},
},
capabilities
=
capabilities
,
-- on_attach = function(c, b)
-- ih.on_attach(c, b)
-- end,
settings
=
{
gopls
=
{
experimentalPostfixCompletions
=
true
,
analyses
=
{
fieldalignment
=
true
,
nilness
=
true
,
unusedwrite
=
true
,
unusedparams
=
true
,
unusedvariable
=
true
,
shadow
=
true
,
unreachable
=
true
,
bools
=
true
,
useany
=
true
,
},
staticcheck
=
true
,
usePlaceholders
=
true
,
codelenses
=
{
gc_details
=
true
,
},
semanticTokens
=
true
,
hints
=
{
assignVariableTypes
=
true
,
compositeLiteralFields
=
true
,
compositeLiteralTypes
=
true
,
constantValues
=
true
,
functionTypeParameters
=
true
,
parameterNames
=
true
,
rangeVariableTypes
=
true
,
},
},
},
})
-- lsp_config.rust_analyzer.setup{
...
...
@@ -46,171 +81,179 @@ lsp_config.gopls.setup({
-- }
local
opts
=
{
tools
=
{
-- rust-tools options
-- Automatically set inlay hints (type hints)
autoSetHints
=
true
,
-- Whether to show hover actions inside the hover window
-- This overrides the default hover handler
hover_with_actions
=
true
,
runnables
=
{
-- whether to use telescope for selection menu or not
use_telescope
=
true
,
-- rest of the opts are forwarded to telescope
},
debuggables
=
{
-- whether to use telescope for selection menu or not
use_telescope
=
true
,
-- rest of the opts are forwarded to telescope
},
-- These apply to the default RustSetInlayHints command
inlay_hints
=
{
-- Only show inlay hints for the current line
only_current_line
=
false
,
-- Event which triggers a refersh of the inlay hints.
-- You can make this "CursorMoved" or "CursorMoved,CursorMovedI" but
-- not that this may cause higher CPU usage.
-- This option is only respected when only_current_line and
-- autoSetHints both are true.
only_current_line_autocmd
=
"CursorHold"
,
-- wheter to show parameter hints with the inlay hints or not
show_parameter_hints
=
true
,
-- prefix for parameter hints
parameter_hints_prefix
=
"<- "
,
-- prefix for all the other hints (type, chaining)
other_hints_prefix
=
"=> "
,
-- whether to align to the length of the longest line in the file
max_len_align
=
false
,
-- padding from the left if max_len_align is true
max_len_align_padding
=
1
,
-- whether to align to the extreme right or not
right_align
=
false
,
-- padding from the right if right_align is true
right_align_padding
=
7
,
-- The color of the hints
highlight
=
"Comment"
,
},
hover_actions
=
{
-- the border that is used for the hover window
-- see vim.api.nvim_open_win()
border
=
{
{
"╭"
,
"FloatBorder"
},
{
"─"
,
"FloatBorder"
},
{
"╮"
,
"FloatBorder"
},
{
"│"
,
"FloatBorder"
},
{
"╯"
,
"FloatBorder"
},
{
"─"
,
"FloatBorder"
},
{
"╰"
,
"FloatBorder"
},
{
"│"
,
"FloatBorder"
},
},
-- whether the hover action window gets automatically focused
auto_focus
=
false
,
},
},
-- all the opts to send to nvim-lspconfig
-- these override the defaults set by rust-tools.nvim
-- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
server
=
{},
-- rust-analyer options
tools
=
{
-- rust-tools options
-- Automatically set inlay hints (type hints)
autoSetHints
=
true
,
-- Whether to show hover actions inside the hover window
-- This overrides the default hover handler
--
hover_with_actions = true,
runnables
=
{
-- whether to use telescope for selection menu or not
use_telescope
=
true
,
-- rest of the opts are forwarded to telescope
},
debuggables
=
{
-- whether to use telescope for selection menu or not
use_telescope
=
true
,
-- rest of the opts are forwarded to telescope
},
-- These apply to the default RustSetInlayHints command
inlay_hints
=
{
-- Only show inlay hints for the current line
only_current_line
=
false
,
-- Event which triggers a refersh of the inlay hints.
-- You can make this "CursorMoved" or "CursorMoved,CursorMovedI" but
-- not that this may cause higher CPU usage.
-- This option is only respected when only_current_line and
-- autoSetHints both are true.
only_current_line_autocmd
=
"CursorHold"
,
-- wheter to show parameter hints with the inlay hints or not
show_parameter_hints
=
true
,
-- prefix for parameter hints
parameter_hints_prefix
=
"<- "
,
-- prefix for all the other hints (type, chaining)
other_hints_prefix
=
"=> "
,
-- whether to align to the length of the longest line in the file
max_len_align
=
false
,
-- padding from the left if max_len_align is true
max_len_align_padding
=
1
,
-- whether to align to the extreme right or not
right_align
=
false
,
-- padding from the right if right_align is true
right_align_padding
=
7
,
-- The color of the hints
highlight
=
"Comment"
,
},
hover_actions
=
{
-- the border that is used for the hover window
-- see vim.api.nvim_open_win()
border
=
{
{
"╭"
,
"FloatBorder"
},
{
"─"
,
"FloatBorder"
},
{
"╮"
,
"FloatBorder"
},
{
"│"
,
"FloatBorder"
},
{
"╯"
,
"FloatBorder"
},
{
"─"
,
"FloatBorder"
},
{
"╰"
,
"FloatBorder"
},
{
"│"
,
"FloatBorder"
},
},
-- whether the hover action window gets automatically focused
auto_focus
=
false
,
},
},
-- all the opts to send to nvim-lspconfig
-- these override the defaults set by rust-tools.nvim
-- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
server
=
{},
-- rust-analyer options
}
require
(
"rust-tools"
).
setup
(
opts
)
lsp_config
.
angularls
.
setup
({
capabilities
=
capabilities
,
capabilities
=
capabilities
,
})
lsp_config
.
yamlls
.
setup
({
capabilities
=
capabilities
,
capabilities
=
capabilities
,
})
lsp_config
.
metals
.
setup
({
capabilities
=
capabilities
,
settings
=
{
metals
=
{
superMethodLensesEnabled
=
true
,
showInferredType
=
true
,
showImplicitArguments
=
true
,
},
},
capabilities
=
capabilities
,
settings
=
{
metals
=
{
superMethodLensesEnabled
=
true
,
showInferredType
=
true
,
showImplicitArguments
=
true
,
},
},
})
lsp_config
.
dartls
.
setup
({})
lsp_config
.
texlab
.
setup
({})
lsp_config
.
ccls
.
setup
({
capabilities
=
capabilities
,
capabilities
=
capabilities
,
})
lsp_config
.
sumneko_lua
.
setup
({
cmd
=
{
"/usr/bin/lua-language-server"
},
capabilities
=
capabilities
,
settings
=
{
Lua
=
{
runtime
=
{
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
version
=
"LuaJIT"
,
-- Setup your lua path
path
=
vim
.
split
(
package.path
,
";"
),
},
diagnostics
=
{
-- Get the language server to recognize the `vim` global
globals
=
{
"vim"
},
},
workspace
=
{
-- Make the server aware of Neovim runtime files
library
=
{
[
vim
.
fn
.
expand
(
"$VIMRUNTIME/lua"
)]
=
true
,
[
vim
.
fn
.
expand
(
"$VIMRUNTIME/lua/vim/lsp"
)]
=
true
,
},
},
-- Do not send telemetry data containing a randomized but unique identifier
telemetry
=
{
enable
=
false
,
},
},
},
cmd
=
{
"/usr/bin/lua-language-server"
},
-- on_attach = function(c, b)
-- ih.on_attach(c, b)
-- end,
capabilities
=
capabilities
,
settings
=
{
Lua
=
{
hint
=
{
enable
=
true
,
},
runtime
=
{
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
version
=
"LuaJIT"
,
-- Setup your lua path
path
=
vim
.
split
(
package.path
,
";"
),
},
diagnostics
=
{
-- Get the language server to recognize the `vim` global
globals
=
{
"vim"
},
},
workspace
=
{
-- Make the server aware of Neovim runtime files
library
=
{
[
vim
.
fn
.
expand
(
"$VIMRUNTIME/lua"
)]
=
true
,
[
vim
.
fn
.
expand
(
"$VIMRUNTIME/lua/vim/lsp"
)]
=
true
,
},
},
-- Do not send telemetry data containing a randomized but unique identifier
telemetry
=
{
enable
=
false
,
},
},
},
})
local
eslint
=
{
lintCommand
=
"eslint_d -f unix --stdin --stdin-filename ${INPUT}"
,
lintStdin
=
true
,
lintFormats
=
{
"%f:%l:%c: %m"
},
lintIgnoreExitCode
=
true
,
formatCommand
=
"eslint_d --fix-to-stdout --stdin --stdin-filename=${INPUT}"
,
formatStdin
=
true
,
lintCommand
=
"eslint_d -f unix --stdin --stdin-filename ${INPUT}"
,
lintStdin
=
true
,
lintFormats
=
{
"%f:%l:%c: %m"
},
lintIgnoreExitCode
=
true
,
formatCommand
=
"eslint_d --fix-to-stdout --stdin --stdin-filename=${INPUT}"
,
formatStdin
=
true
,
}
lsp_config
.
efm
.
setup
({
init_options
=
{
documentFormatting
=
true
},
filetypes
=
{
"javascript"
,
"typescript"
},
root_dir
=
function
(
fname
)
return
lsp_config
.
util
.
root_pattern
(
"tsconfig.json"
)(
fname
)
or
lsp_config
.
util
.
root_pattern
(
".eslintrc.js"
,
".git"
)(
fname
)
end
,
settings
=
{
rootMarkers
=
{
".eslintrc.js"
,
".git/"
},
languages
=
{
javascript
=
{
eslint
},
typescript
=
{
eslint
},
},
},
init_options
=
{
documentFormatting
=
true
},
filetypes
=
{
"javascript"
,
"typescript"
},
root_dir
=
function
(
fname
)
return
lsp_config
.
util
.
root_pattern
(
"tsconfig.json"
)(
fname
)
or
lsp_config
.
util
.
root_pattern
(
".eslintrc.js"
,
".git"
)(
fname
)
end
,
settings
=
{
rootMarkers
=
{
".eslintrc.js"
,
".git/"
},
languages
=
{
javascript
=
{
eslint
},
typescript
=
{
eslint
},
},
},
})
-- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
...
...
@@ -247,14 +290,15 @@ lsp_config.efm.setup({
-- })
if
vim
.
g
.
snippets
~=
"luasnip"
then
return
return
end
local
ls
=
require
(
"luasnip"
)
require
(
"snippets"
)
ls
.
config
.
set_config
({
history
=
true
,
updateevents
=
"TextChanged,TextChangedI"
,
history
=
true
,
updateevents
=
"TextChanged,TextChangedI"
,
})
-- create snippet
...
...
@@ -277,30 +321,30 @@ local t = ls.t -- text node
local
d
=
ls
.
d
-- dynamic node
local
str
=
function
(
text
)
return
t
({
text
})
return
t
({
text
})
end
local
newline
=
function
(
text
)
return
t
({
""
,
text
})
return
t
({
""
,
text
})
end
local
str_snip
=
function
(
trig
,
expanded
)
return
ls
.
parser
.
parse_snippet
({
trig
=
trig
},
expanded
)
return
ls
.
parser
.
parse_snippet
({
trig
=
trig
},
expanded
)
end
local
tbl_snip
=
function
(
t
)
return
snippet
({
trig
=
t
.
trig
,
dscr
=
t
.
desc
},
{
unpack
(
t
)
})
return
snippet
({
trig
=
t
.
trig
,
dscr
=
t
.
desc
},
{
unpack
(
t
)
})
end
local
function
char_count_same
(
c1
,
c2
)
local
line
=
vim
.
api
.
nvim_get_current_line
()
local
_
,
ct1
=
string.gsub
(
line
,
c1
,
""
)
local
_
,
ct2
=
string.gsub
(
line
,
c2
,
""
)
return
ct1
==
ct2
local
line
=
vim
.
api
.
nvim_get_current_line
()
local
_
,
ct1
=
string.gsub
(
line
,
c1
,
""
)
local
_
,
ct2
=
string.gsub
(
line
,
c2
,
""
)
return
ct1
==
ct2
end
local
function
neg
(
fn
,
...
)
return
not
fn
(
...
)
return
not
fn
(
...
)
end
-- {{{ Go stuff
...
...
@@ -310,9 +354,9 @@ local ts_utils = require("nvim-treesitter.ts_utils")
local
get_node_text
=
vim
.
treesitter
.
get_node_text
vim
.
treesitter
.
set_query
(
"go"
,
"LuaSnip_Result"
,
[[
"go"
,
"LuaSnip_Result"
,
[[
[
(method_declaration result: (*) @id)
(function_declaration result: (*) @id)
...
...
@@ -322,152 +366,154 @@ vim.treesitter.set_query(
)
local
transform
=
function
(
text
,
info
)
if
text
==
"int"
then
return
str
(
"0"
)
elseif
text
==
"error"
then
if
info
then
info
.
index
=
info
.
index
+
1
return
c
(
info
.
index
,
{
str
(
string.format
(
'errors.Wrap(%s, "%s")'
,
info
.
err_name
,
info
.
func_name
)),
str
(
info
.
err_name
),
})
else
return
str
(
"err"
)
end
elseif
text
==
"bool"
then
return
str
(
"false"
)
elseif
string.find
(
text
,
"*"
,
1
,
true
)
then
return
str
(
"nil"
)
end
return
str
(
text
)
if
text
==
"int"
then
return
str
(
"0"
)
elseif
text
==
"error"
then
if
info
then
info
.
index
=
info
.
index
+
1
return
c
(
info
.
index
,
{
str
(
string.format
(
'errors.Wrap(%s, "%s")'
,
info
.
err_name
,
info
.
func_name
)),
str
(
info
.
err_name
),
})
else
return
str
(
"err"
)
end
elseif
text
==
"bool"
then
return
str
(
"false"
)
elseif
string.find
(
text
,
"*"
,
1
,
true
)
then
return
str
(
"nil"
)
end
return
str
(
text
)
end
local
handlers
=
{
[
"parameter_list"
]
=
function
(
node
,
info
)
local
result
=
{}
local
count
=
node
:
named_child_count
()
for
i
=
0
,
count
-
1
do
table.insert
(
result
,
transform
(
get_node_text
(
node
:
named_child
(
i
),
0
),
info
))
if
i
~=
count
-
1
then
table.insert
(
result
,
t
({
", "
}))
end
end
return
result
end
,
[
"type_identifier"
]
=
function
(
node
,
info
)
local
text
=
get_node_text
(
node
,
0
)
return
{
transform
(
text
,
info
)
}
end
,
[
"parameter_list"
]
=
function
(
node
,
info
)
local
result
=
{}
local
count
=
node
:
named_child_count
()
for
i
=
0
,
count
-
1
do
table.insert
(
result
,
transform
(
get_node_text
(
node
:
named_child
(
i
),
0
),
info
))
if
i
~=
count
-
1
then
table.insert
(
result
,
t
({
", "
}))
end
end
return
result
end
,
[
"type_identifier"
]
=
function
(
node
,
info
)
local
text
=
get_node_text
(
node
,
0
)
return
{
transform
(
text
,
info
)
}
end
,
}
local
function
go_result_type
(
info
)
local
cursor_node
=
ts_utils
.
get_node_at_cursor
()
local
scope
=
ts_locals
.
get_scope_tree
(
cursor_node
,
0
)
local
function_node
for
_
,
v
in
ipairs
(
scope
)
do
if
v
:
type
()
==
"function_declaration"
or
v
:
type
()
==
"method_declaration"
or
v
:
type
()
==
"func_literal"
then
function_node
=
v
break
end
end
local
query
=
vim
.
treesitter
.
get_query
(
"go"
,
"LuaSnip_Result"
)
for
id
,
node
in
query
:
iter_captures
(
function_node
,
0
)
do
if
handlers
[
node
:
type
()]
then
return
handlers
[
node
:
type
()](
node
,
info
)
end
end
local
cursor_node
=
ts_utils
.
get_node_at_cursor
()
local
scope
=
ts_locals
.
get_scope_tree
(
cursor_node
,
0
)
local
function_node
for
_
,
v
in
ipairs
(
scope
)
do
if
v
:
type
()
==
"function_declaration"
or
v
:
type
()
==
"method_declaration"
or
v
:
type
()
==
"func_literal"
then
function_node
=
v
break
end
end
local
query
=
vim
.
treesitter
.
get_query
(
"go"
,
"LuaSnip_Result"
)
for
id
,
node
in
query
:
iter_captures
(
function_node
,
0
)
do
if
handlers
[
node
:
type
()]
then
return
handlers
[
node
:
type
()](
node
,
info
)
end
end
end
-- }}}
local
shortcut
=
function
(
val
)
if
type
(
val
)
==
"string"
then
return
{
t
({
val
}),
i
(
0
)
}
end
if
type
(
val
)
==
"table"
then
for
k
,
v
in
ipairs
(
val
)
do
if
type
(
v
)
==
"string"
then
val
[
k
]
=
t
({
v
})
end
end
end
return
val
if
type
(
val
)
==
"string"
then
return
{
t
({
val
}),
i
(
0
)
}
end
if
type
(
val
)
==
"table"
then
for
k
,
v
in
ipairs
(
val
)
do
if
type
(
v
)
==
"string"
then
val
[
k
]
=
t
({
v
})
end
end
end
return
val
end
local
make
=
function
(
tbl
)
local
result
=
{}
for
k
,
v
in
pairs
(
tbl
)
do
table.insert
(
result
,
(
snippet
({
trig
=
k
,
desc
=
v
.
desc
},
shortcut
(
v
))))
end
local
result
=
{}
for
k
,
v
in
pairs
(
tbl
)
do
table.insert
(
result
,
(
snippet
({
trig
=
k
,
desc
=
v
.
desc
},
shortcut
(
v
))))
end
return
result
return
result
end
local
same
=
function
(
index
)
return
f
(
function
(
args
)
return
args
[
1
]
end
,
{
index
})
return
f
(
function
(
args
)
return
args
[
1
]
end
,
{
index
})
end
local
snippets
=
{}
local
go_ret_vals
=
function
(
args
,
old_state
)
local
info
=
{
index
=
0
,
err_name
=
args
[
1
][
1
],
func_name
=
args
[
2
][
1
]
}
return
snippet_from_nodes
(
nil
,
go_result_type
(
info
))
local
info
=
{
index
=
0
,
err_name
=
args
[
1
][
1
],
func_name
=
args
[
2
][
1
]
}
return
snippet_from_nodes
(
nil
,
go_result_type
(
info
))
end
--stylua: ignore
snippets
.
go
=
make
{
main
=
{
t
{
"func main() {"
,
"
\t
"
},
i
(
0
),
t
{
""
,
"}"
},
},
ef
=
{
i
(
1
,
{
"val"
}),
str
", err := "
,
i
(
2
,
{
"f"
}),
str
"("
,
i
(
3
),
str
")"
,
i
(
0
),
},
efi
=
{
i
(
1
,
{
"val"
}),
", "
,
i
(
2
,
{
"err"
}),
" := "
,
i
(
3
,
{
"f"
}),
"("
,
i
(
4
),
")"
,
t
{
""
,
"if "
},
same
(
2
),
t
{
" != nil {"
,
"
\t
return "
},
d
(
5
,
go_ret_vals
,
{
2
,
3
}),
t
{
""
,
"}"
},
i
(
0
),
},
-- TODO: Fix this up so that it actually uses the tree sitter thing
ie
=
{
"if err != nil {"
,
"
\t
return err"
,
i
(
0
),
"}"
},
main
=
{
t
{
"func main() {"
,
"
\t
"
},
i
(
0
),
t
{
""
,
"}"
},
},
ef
=
{
i
(
1
,
{
"val"
}),
str
", err := "
,
i
(
2
,
{
"f"
}),
str
"("
,
i
(
3
),
str
")"
,
i
(
0
),
},
efi
=
{
i
(
1
,
{
"val"
}),
", "
,
i
(
2
,
{
"err"
}),
" := "
,
i
(
3
,
{
"f"
}),
"("
,
i
(
4
),
")"
,
t
{
""
,
"if "
},
same
(
2
),
t
{
" != nil {"
,
"
\t
return "
},
d
(
5
,
go_ret_vals
,
{
2
,
3
}),
t
{
""
,
"}"
},
i
(
0
),
},
-- TODO: Fix this up so that it actually uses the tree sitter thing
ie
=
{
"if err != nil {"
,
"
\t
return err"
,
i
(
0
),
"}"
},
}
vim
.
cmd
[[augroup lsp]]
vim
.
cmd
[[au!]]
vim
.
cmd
[[au FileType scala,sbt lua require("metals").initialize_or_attach({})]]
vim
.
cmd
[[augroup end]]
vim
.
cmd
(
[[augroup lsp]]
)
vim
.
cmd
(
[[au!]]
)
vim
.
cmd
(
[[au FileType scala,sbt lua require("metals").initialize_or_attach({})]]
)
vim
.
cmd
(
[[augroup end]]
)
local
metals_config
=
require
(
"metals"
).
bare_config
()
metals_config
.
settings
=
{
showImplicitArguments
=
true
,
}
require
(
'dap-go'
).
setup
()
neovim/lua/plugins/init.lua
View file @
42ddd058
return
require
(
"packer"
).
startup
(
function
(
use
)
use
(
"wbthomason/packer.nvim"
)
-- Color schemes
use
(
"morhetz/gruvbox"
)
use
(
"icymind/NeoSolarized"
)
use
(
"romgrk/doom-one.vim"
)
use
({
"tjdevries/gruvbuddy.nvim"
,
requires
=
{
"tjdevries/colorbuddy.vim"
},
config
=
function
()
--require('colorbuddy').colorscheme('gruvbox')
vim
.
cmd
(
[[colo doom-one]]
)
end
,
})
-- UI
use
(
"ntpeters/vim-better-whitespace"
)
use
(
"Yggdroot/indentLine"
)
use
(
"haya14busa/incsearch.vim"
)
use
({
"junegunn/fzf.vim"
,
requires
=
{
"junegunn/fzf"
},
})
-- Look at feline for a leaner better maintained alternative.
use
({
"glepnir/galaxyline.nvim"
,
branch
=
"main"
,
config
=
function
()
require
(
"statusline"
)
end
,
requires
=
{
"kyazdani42/nvim-web-devicons"
},
})
use
(
"liuchengxu/vista.vim"
)
use
({
"kyazdani42/nvim-tree.lua"
,
requires
=
"kyazdani42/nvim-web-devicons"
,
config
=
function
()
require
(
"nvim-tree"
).
setup
({})
end
,
})
use
({
"AckslD/nvim-whichkey-setup.lua"
,
requires
=
{
"liuchengxu/vim-which-key"
},
})
use
({
"akinsho/nvim-bufferline.lua"
,
requires
=
"kyazdani42/nvim-web-devicons"
,
config
=
function
()
require
(
"bufferline"
).
setup
({})
end
,
})
-- Utilities
use
(
"editorconfig/editorconfig-vim"
)
use
({
"nvim-treesitter/nvim-treesitter"
,
run
=
":TSUpdate"
,
requires
=
{
"nvim-treesitter/nvim-treesitter-refactor"
,
"nvim-treesitter/nvim-treesitter-textobjects"
,
},
})
use
({
"nvim-telescope/telescope.nvim"
,
requires
=
{
{
"nvim-lua/popup.nvim"
},
{
"nvim-lua/plenary.nvim"
},
{
"nvim-telescope/telescope-project.nvim"
},
},
config
=
function
()
require
(
"telescope"
).
load_extension
(
"project"
)
end
,
})
use
(
"Chiel92/vim-autoformat"
)
use
(
"Raimondi/delimitMate"
)
use
({
"Shougo/echodoc.vim"
,
config
=
function
()
vim
.
cmd
(
[[let g:echodoc#enable_at_start=1]]
)
end
,
})
-- LSP
use
(
"neovim/nvim-lspconfig"
)
use
({
"RishabhRD/nvim-lsputils"
,
requires
=
{
"RishabhRD/popfix"
},
disable
=
true
,
})
use
({
"nvim-lua/lsp_extensions.nvim"
,
requires
=
{
"neovim/nvim-lspconfig"
},
disable
=
true
,
config
=
function
()
require
(
"lsp_extensions"
).
inlay_hints
({
highlight
=
"Comment"
,
prefix
=
" » "
,
aligned
=
true
,
only_current_line
=
false
,
enabled
=
{
"ChainingHint"
},
})
end
,
})
use
({
"folke/lsp-trouble.nvim"
,
disable
=
true
,
requires
=
"kyazdani42/nvim-web-devicons"
,
config
=
function
()
require
(
"trouble"
).
setup
({
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
})
end
,
})
-- Completion
use
(
"onsails/lspkind-nvim"
)
use
(
"hrsh7th/cmp-buffer"
)
use
(
"hrsh7th/cmp-path"
)
use
(
"hrsh7th/cmp-nvim-lua"
)
use
(
"hrsh7th/cmp-nvim-lsp"
)
use
(
"hrsh7th/nvim-cmp"
)
use
({
"dcampos/cmp-snippy"
,
requires
=
{
"dcampos/nvim-snippy"
,
"honza/vim-snippets"
,
},
})
-- use({
-- "saadparwaiz1/cmp_luasnip",
-- disable = true,
-- requires = {
-- "L3MON4D3/LuaSnip",
-- },
-- })
use
(
"windwp/nvim-autopairs"
)
use
({
"simrat39/rust-tools.nvim"
,
requires
=
{
"nvim-lua/popup.nvim"
,
},
})
use
({
"scalameta/nvim-metals"
,
requires
=
{
"nvim-lua/plenary.nvim"
,
},
})
use
({
"lewis6991/gitsigns.nvim"
,
requires
=
{
"nvim-lua/plenary.nvim"
,
},
config
=
function
()
require
(
"gitsigns"
).
setup
()
end
,
})
use
(
"tomlion/vim-solidity"
)
use
(
"wbthomason/packer.nvim"
)
-- Color schemes
use
(
"morhetz/gruvbox"
)
use
(
"icymind/NeoSolarized"
)
use
(
"romgrk/doom-one.vim"
)
use
({
"tjdevries/gruvbuddy.nvim"
,
requires
=
{
"tjdevries/colorbuddy.vim"
},
config
=
function
()
--require('colorbuddy').colorscheme('gruvbox')
vim
.
cmd
(
[[colo doom-one]]
)
end
,
})
-- UI
use
(
"ntpeters/vim-better-whitespace"
)
use
(
"Yggdroot/indentLine"
)
use
(
"haya14busa/incsearch.vim"
)
use
({
"junegunn/fzf.vim"
,
requires
=
{
"junegunn/fzf"
},
})
-- Look at feline for a leaner better maintained alternative.
use
({
"glepnir/galaxyline.nvim"
,
branch
=
"main"
,
config
=
function
()
require
(
"statusline"
)
end
,
requires
=
{
"kyazdani42/nvim-web-devicons"
},
})
use
(
"liuchengxu/vista.vim"
)
use
({
"kyazdani42/nvim-tree.lua"
,
requires
=
"kyazdani42/nvim-web-devicons"
,
config
=
function
()
require
(
"nvim-tree"
).
setup
({})
end
,
})
use
({
"AckslD/nvim-whichkey-setup.lua"
,
requires
=
{
"liuchengxu/vim-which-key"
},
})
use
({
"akinsho/nvim-bufferline.lua"
,
requires
=
"kyazdani42/nvim-web-devicons"
,
config
=
function
()
require
(
"bufferline"
).
setup
({})
end
,
})
use
({
"dnlhc/glance.nvim"
,
config
=
function
()
require
(
'glance'
).
setup
({
height
=
18
,
-- Height of the window
zindex
=
45
,
border
=
{
enable
=
false
,
-- Show window borders. Only horizontal borders allowed
top_char
=
'―'
,
bottom_char
=
'―'
,
},
list
=
{
position
=
'right'
,
-- Position of the list window 'left'|'right'
width
=
0
.
33
,
-- 33% width relative to the active window, min 0.1, max 0.5
},
theme
=
{
-- This feature might not work properly in nvim-0.7.2
enable
=
true
,
-- Will generate colors for the plugin based on your current colorscheme
mode
=
'auto'
,
-- 'brighten'|'darken'|'auto', 'auto' will set mode based on the brightness of your colorscheme
},
hooks
=
{},
folds
=
{
fold_closed
=
''
,
fold_open
=
''
,
folded
=
true
,
-- Automatically fold list on startup
},
indent_lines
=
{
enable
=
true
,
icon
=
'│'
,
},
winbar
=
{
enable
=
true
,
-- Available strating from nvim-0.8+
},
})
end
,
})
-- use({
-- "folke/noice.nvim",
-- config = function()
-- require("noice").setup()
-- end,
-- requires = {
-- -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
-- "MunifTanjim/nui.nvim",
-- -- OPTIONAL:
-- -- `nvim-notify` is only needed, if you want to use the notification view.
-- -- If not available, we use `mini` as the fallback
-- "rcarriga/nvim-notify",
-- }
-- })
-- use({
-- "b0o/incline.nvim",
-- config = function()
-- require("incline").setup({
-- debounce_threshold = { falling = 500, rising = 250 },
-- render = function(props)
-- local bufname = vim.api.nvim_buf_get_name(props.buf)
-- local filename = vim.fn.fnamemodify(bufname, ":t")
-- local diagnostics = get_diagnostic_label(props)
-- local modified = vim.api.nvim_buf_get_option(props.buf, "modified") and "bold,italic" or "None"
-- local filetype_icon, color = require("nvim-web-devicons").get_icon_color(filename)
-- local buffer = {
-- { filetype_icon, guifg = color },
-- { " " },
-- { filename, gui = modified },
-- }
-- if #diagnostics > 0 then
-- table.insert(diagnostics, { "| ", guifg = "grey" })
-- end
-- for _, buffer_ in ipairs(buffer) do
-- table.insert(diagnostics, buffer_)
-- end
-- return diagnostics
-- end,
-- })
-- end
-- })
-- Utilities
use
(
"editorconfig/editorconfig-vim"
)
use
({
"nvim-treesitter/nvim-treesitter"
,
run
=
":TSUpdate"
,
requires
=
{
"nvim-treesitter/nvim-treesitter-refactor"
,
"nvim-treesitter/nvim-treesitter-textobjects"
,
},
})
use
({
"nvim-treesitter/playground"
,
requires
=
{
"nvim-treesitter/nvim-treesitter"
}
})
use
({
"nvim-telescope/telescope.nvim"
,
requires
=
{
{
"nvim-lua/popup.nvim"
},
{
"nvim-lua/plenary.nvim"
},
{
"nvim-telescope/telescope-project.nvim"
},
},
config
=
function
()
require
(
"telescope"
).
load_extension
(
"project"
)
end
,
})
use
(
"Chiel92/vim-autoformat"
)
use
(
"Raimondi/delimitMate"
)
use
({
"Shougo/echodoc.vim"
,
config
=
function
()
vim
.
cmd
(
[[let g:echodoc#enable_at_start=1]]
)
end
,
})
-- LSP
use
(
"neovim/nvim-lspconfig"
)
use
({
"RishabhRD/nvim-lsputils"
,
requires
=
{
"RishabhRD/popfix"
},
disable
=
true
,
})
use
({
"https://git.sr.ht/~whynothugo/lsp_lines.nvim"
,
config
=
function
()
require
(
"lsp_lines"
).
setup
()
end
,
})
use
({
"nvim-lua/lsp_extensions.nvim"
,
requires
=
{
"neovim/nvim-lspconfig"
},
disable
=
true
,
config
=
function
()
require
(
"lsp_extensions"
).
inlay_hints
({
highlight
=
"Comment"
,
prefix
=
" » "
,
aligned
=
true
,
only_current_line
=
false
,
enabled
=
{
"ChainingHint"
},
})
end
,
})
use
(
'simrat39/inlay-hints.nvim'
)
use
(
'hashivim/vim-terraform'
)
use
({
'simrat39/symbols-outline.nvim'
,
config
=
require
(
"symbols-outline"
).
setup
()
})
use
({
"rcarriga/nvim-dap-ui"
,
requires
=
{
"mfussenegger/nvim-dap"
}
})
use
({
'yriveiro/dap-go.nvim'
,
requires
=
{
'nvim-lua/plenary.nvim'
}
})
use
({
"folke/lsp-trouble.nvim"
,
disable
=
true
,
requires
=
"kyazdani42/nvim-web-devicons"
,
config
=
function
()
require
(
"trouble"
).
setup
({
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
})
end
,
})
-- Completion
use
(
"onsails/lspkind-nvim"
)
use
(
"hrsh7th/cmp-buffer"
)
use
(
"hrsh7th/cmp-path"
)
use
(
"hrsh7th/cmp-nvim-lua"
)
use
(
"hrsh7th/cmp-nvim-lsp"
)
use
(
"hrsh7th/nvim-cmp"
)
-- use({
-- "dcampos/cmp-snippy",
-- requires = {
-- "dcampos/nvim-snippy",
-- "honza/vim-snippets",
-- },
-- })
use
({
"saadparwaiz1/cmp_luasnip"
,
requires
=
{
"L3MON4D3/LuaSnip"
,
},
})
-- use({
-- "rafamadriz/friendly-snippets",
-- disable = true,
-- requires = {
-- "L3MON4D3/LuaSnip",
-- },
-- -- config = function()
-- -- require("config.snip").setup()
-- -- require("luasnip/loaders/from_vscode").load({
-- -- paths = { "~/.local/share/nvim/site/pack/packer/start/friendly-snippets" },
-- -- })
-- -- end,
-- })
use
(
"windwp/nvim-autopairs"
)
use
({
"simrat39/rust-tools.nvim"
,
requires
=
{
"nvim-lua/popup.nvim"
,
},
})
use
({
"scalameta/nvim-metals"
,
requires
=
{
"nvim-lua/plenary.nvim"
,
},
})
use
({
"lewis6991/gitsigns.nvim"
,
requires
=
{
"nvim-lua/plenary.nvim"
,
},
config
=
function
()
require
(
"gitsigns"
).
setup
()
end
,
})
use
(
"tomlion/vim-solidity"
)
end
)
neovim/lua/snippets/init.lua
0 → 100644
View file @
42ddd058
require
(
"luasnip.loaders.from_vscode"
).
load
({
paths
=
{
"~/.local/share/nvim/site/pack/packer/start/friendly-snippets/"
}})
local
ls
=
require
(
"luasnip"
)
ls
.
filetype_extend
(
"all"
,
{
"_"
})
neovim/lua/treesitter/init.lua
View file @
42ddd058
...
...
@@ -3,10 +3,11 @@ ts_configs.setup {
ensure_installed
=
{
'bash'
,
'bibtex'
,
'c'
,
'comment'
,
'cpp'
,
'css'
,
'go'
,
'haskell'
,
'html'
,
'javascript'
,
'json'
,
'jsonc'
,
'julia'
,
'kotlin'
,
'latex'
,
'lua'
,
'ocaml'
,
'ocaml_interface'
,
'python'
,
'regex'
,
'rust'
,
'teal'
,
'toml'
,
'typescript'
,
'yaml'
,
'zig'
'ocaml_interface'
,
'python'
,
'regex'
,
'rust'
,
'teal'
,
'toml'
,
'typescript'
,
'yaml'
,
'zig'
,
'query'
,
},
highlight
=
{
enable
=
true
,
use_languagetree
=
true
},
indent
=
{
enable
=
false
},
highlight
=
{
enable
=
true
,
use_languagetree
=
true
},
indent
=
{
enable
=
false
},
incremental_selection
=
{
enable
=
true
,
keymaps
=
{
...
...
@@ -17,10 +18,30 @@ ts_configs.setup {
}
},
refactor
=
{
smart_rename
=
{
enable
=
true
,
keymaps
=
{
smart_rename
=
"grr"
}
},
highlight_definitions
=
{
enable
=
true
},
smart_rename
=
{
enable
=
true
,
keymaps
=
{
smart_rename
=
"grr"
}
},
highlight_definitions
=
{
enable
=
true
},
highlight_current_scope
=
{
enable
=
false
}
}
--,
},
playground
=
{
enable
=
true
,
disable
=
{},
updatetime
=
25
,
-- Debounced time for highlighting nodes in the playground from source code
persist_queries
=
false
,
-- Whether the query persists across vim sessions
keybindings
=
{
toggle_query_editor
=
'o'
,
toggle_hl_groups
=
'i'
,
toggle_injected_languages
=
't'
,
toggle_anonymous_nodes
=
'a'
,
toggle_language_display
=
'I'
,
focus_language
=
'f'
,
unfocus_language
=
'F'
,
update
=
'R'
,
goto_node
=
'<cr>'
,
show_help
=
'?'
,
},
}
--,
--textobjects = {
-- select = {
-- enable = true,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment