Compare commits
4 commits
4e3b829bf0
...
6440203958
| Author | SHA1 | Date | |
|---|---|---|---|
| 6440203958 | |||
| 9d31a63799 | |||
| 45c32595e1 | |||
| a496f27be0 |
28 changed files with 476 additions and 626 deletions
5
nvim/init.lua
Normal file
5
nvim/init.lua
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
require('user.plugins')
|
||||||
|
require('user.options')
|
||||||
|
require('user.lsp')
|
||||||
|
require('user.dap')
|
||||||
|
require('user.bindings')
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
filetype plugin on
|
|
||||||
syntax on
|
|
||||||
set number
|
|
||||||
set nowrap
|
|
||||||
set wildmode=longest,list
|
|
||||||
set colorcolumn=120
|
|
||||||
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
|
|
||||||
let g:gruvbox_contrast_dark='hard'
|
|
||||||
let g:gruvbox_hls_cursor='red'
|
|
||||||
set tabpagemax=500
|
|
||||||
|
|
||||||
" Indentation
|
|
||||||
set smartindent
|
|
||||||
set tabstop=4
|
|
||||||
set softtabstop=4
|
|
||||||
set shiftwidth=4
|
|
||||||
set expandtab
|
|
||||||
set cursorcolumn
|
|
||||||
set cursorline
|
|
||||||
|
|
||||||
" Search
|
|
||||||
set incsearch
|
|
||||||
set hlsearch
|
|
||||||
set ignorecase
|
|
||||||
set smartcase
|
|
||||||
|
|
||||||
" Whitespaces
|
|
||||||
set listchars=tab:>-,trail:·
|
|
||||||
set list
|
|
||||||
|
|
||||||
" Terminal mode
|
|
||||||
:tnoremap <Esc> <C-\><C-n>
|
|
||||||
|
|
||||||
" File handling
|
|
||||||
set hidden
|
|
||||||
|
|
||||||
" Custom shortcuts
|
|
||||||
map gb :bn<cr>
|
|
||||||
map gB :bp<cr>
|
|
||||||
map g# :b#<cr>
|
|
||||||
|
|
||||||
" Close the completion preview window (docstring) automatically
|
|
||||||
autocmd CompleteDone * pclose
|
|
||||||
|
|
||||||
" LSP config
|
|
||||||
lua <<EOF
|
|
||||||
require("config.lazy")
|
|
||||||
|
|
||||||
vim.o.scrolloff = 4;
|
|
||||||
|
|
||||||
vim.diagnostic.config({
|
|
||||||
virtual_text = true,
|
|
||||||
severity_sort = true,
|
|
||||||
})
|
|
||||||
EOF
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
-- Bootstrap lazy.nvim
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
|
||||||
-- loading lazy.nvim so that mappings are correct.
|
|
||||||
-- This is also a good place to setup other settings (vim.opt)
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = "\\"
|
|
||||||
|
|
||||||
-- Setup lazy.nvim
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
-- import your plugins
|
|
||||||
{ import = "plugins" },
|
|
||||||
},
|
|
||||||
-- Configure any other settings here. See the documentation for more details.
|
|
||||||
-- colorscheme that will be used when installing plugins.
|
|
||||||
install = { colorscheme = { "habamax" } },
|
|
||||||
-- automatically check for plugin updates
|
|
||||||
checker = { enabled = false },
|
|
||||||
})
|
|
||||||
|
|
@ -1,33 +1,22 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"hrsh7th/nvim-cmp",
|
gh("hrsh7th/nvim-cmp"),
|
||||||
lazy = true,
|
gh("hrsh7th/cmp-nvim-lsp"),
|
||||||
event = "InsertEnter",
|
gh("hrsh7th/cmp-buffer"),
|
||||||
dependencies = {
|
gh("hrsh7th/cmp-path"),
|
||||||
"hrsh7th/cmp-buffer",
|
})
|
||||||
"hrsh7th/cmp-path",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local cmp = require("cmp")
|
|
||||||
|
|
||||||
cmp.setup({
|
local cmp = require("cmp")
|
||||||
mapping = cmp.mapping.preset.insert({
|
cmp.setup({
|
||||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
mapping = cmp.mapping.preset.insert({
|
||||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||||
["<C-Space>"] = cmp.mapping.complete(),
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
["<C-e>"] = cmp.mapping.close(),
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
-- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
["<C-e>"] = cmp.mapping.close(),
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
||||||
}),
|
}),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = "nvim_lsp" },
|
{ name = "nvim_lsp" },
|
||||||
{ name = "buffer" },
|
{ name = "buffer" },
|
||||||
{ name = "path" },
|
{ name = "path" },
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.cmd([[
|
|
||||||
set completeopt=menuone,noinsert,noselect
|
|
||||||
highlight! default link CmpItemKind CmpItemMenuDefault
|
|
||||||
]])
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"ellisonleao/gruvbox.nvim",
|
|
||||||
priority = 1000 ,
|
|
||||||
config = true,
|
|
||||||
init = function()
|
|
||||||
require("gruvbox").setup({
|
|
||||||
contrast = "hard",
|
|
||||||
hls_cursor = "red",
|
|
||||||
})
|
|
||||||
vim.cmd("colorscheme gruvbox")
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"leoluz/nvim-dap-go",
|
gh("leoluz/nvim-dap-go"),
|
||||||
dependencies = {
|
})
|
||||||
"https://codeberg.org/mfussenegger/nvim-dap",
|
|
||||||
},
|
require('dap-go').setup()
|
||||||
lazy = true,
|
|
||||||
ft = { "go" },
|
|
||||||
config = function()
|
|
||||||
require('dap-go').setup()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
return {
|
|
||||||
"rcarriga/nvim-dap-ui",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-neotest/nvim-nio",
|
|
||||||
{
|
|
||||||
"theHamsta/nvim-dap-virtual-text",
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lazy = true,
|
|
||||||
ft = { "java", "go", "python" },
|
|
||||||
keys = {
|
|
||||||
{ "<leader>du", function() require("dapui").toggle({ }) end, desc = "Dap UI" },
|
|
||||||
{ "<leader>de", function() require("dapui").eval() end, desc = "Eval", mode = {"n", "v"} },
|
|
||||||
},
|
|
||||||
opts = {},
|
|
||||||
config = function(_, opts)
|
|
||||||
local dap = require("dap")
|
|
||||||
local dapui = require("dapui")
|
|
||||||
dapui.setup(opts)
|
|
||||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
|
||||||
dapui.open({})
|
|
||||||
end
|
|
||||||
dap.listeners.before.event_terminated["dapui_config"] = function()
|
|
||||||
dapui.close({})
|
|
||||||
end
|
|
||||||
dap.listeners.before.event_exited["dapui_config"] = function()
|
|
||||||
dapui.close({})
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +1,20 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"https://codeberg.org/mfussenegger/nvim-dap",
|
cb("mfussenegger/nvim-dap"),
|
||||||
lazy = true,
|
gh("rcarriga/nvim-dap-ui"),
|
||||||
ft = { "java", "go", "python" },
|
gh("theHamsta/nvim-dap-virtual-text"),
|
||||||
dependencies = {
|
gh("rcarriga/nvim-dap-ui"),
|
||||||
"rcarriga/nvim-dap-ui",
|
gh("nvim-neotest/nvim-nio"),
|
||||||
{
|
})
|
||||||
"theHamsta/nvim-dap-virtual-text",
|
|
||||||
opts = {},
|
local dap = require("dap")
|
||||||
},
|
local dapui = require("dapui")
|
||||||
},
|
dapui.setup(opts)
|
||||||
keys = {
|
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||||
{ "<F11>", function() require("dap").continue() end, desc = "Continue" },
|
dapui.open({})
|
||||||
{ "<F6>", function() require("dap").step_over() end, desc = "Step over" },
|
end
|
||||||
{ "<F5>", function() require("dap").step_into() end, desc = "Step into" },
|
dap.listeners.before.event_terminated["dapui_config"] = function()
|
||||||
{ "<F12>", function() require("dap").step_out() end, desc = "Step out" },
|
dapui.close({})
|
||||||
{ "<space>b", function() require("dap").toggle_breakpoint() end, desc = "Toggle " },
|
end
|
||||||
{ "<leader>d", "", desc = "+debug", mode = {"n", "v"} },
|
dap.listeners.before.event_exited["dapui_config"] = function()
|
||||||
{ "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" },
|
dapui.close({})
|
||||||
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
|
end
|
||||||
{ "<leader>dc", function() require("dap").continue() end, desc = "Continue" },
|
|
||||||
{ "<leader>da", function() require("dap").continue({ before = get_args }) end, desc = "Run with Args" },
|
|
||||||
{ "<leader>dC", function() require("dap").run_to_cursor() end, desc = "Run to Cursor" },
|
|
||||||
{ "<leader>dg", function() require("dap").goto_() end, desc = "Go to Line (No Execute)" },
|
|
||||||
{ "<leader>di", function() require("dap").step_into() end, desc = "Step Into" },
|
|
||||||
{ "<leader>dj", function() require("dap").down() end, desc = "Down" },
|
|
||||||
{ "<leader>dk", function() require("dap").up() end, desc = "Up" },
|
|
||||||
{ "<leader>dl", function() require("dap").run_last() end, desc = "Run Last" },
|
|
||||||
{ "<leader>do", function() require("dap").step_out() end, desc = "Step Out" },
|
|
||||||
{ "<leader>dO", function() require("dap").step_over() end, desc = "Step Over" },
|
|
||||||
{ "<leader>dp", function() require("dap").pause() end, desc = "Pause" },
|
|
||||||
{ "<leader>dr", function() require("dap").repl.toggle() end, desc = "Toggle REPL" },
|
|
||||||
{ "<leader>ds", function() require("dap").session() end, desc = "Session" },
|
|
||||||
{ "<leader>dt", function() require("dap").terminate() end, desc = "Terminate" },
|
|
||||||
{ "<leader>dw", function() require("dap.ui.widgets").hover() end, desc = "Widgets" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"lewis6991/gitsigns.nvim",
|
gh("lewis6991/gitsigns.nvim"),
|
||||||
config = function()
|
})
|
||||||
require("gitsigns").setup()
|
|
||||||
end
|
require("gitsigns").setup()
|
||||||
}
|
|
||||||
|
|
|
||||||
8
nvim/lua/plugins/gruvbox.lua
Normal file
8
nvim/lua/plugins/gruvbox.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
vim.pack.add({
|
||||||
|
gh("ellisonleao/gruvbox.nvim"),
|
||||||
|
})
|
||||||
|
|
||||||
|
require("gruvbox").setup({
|
||||||
|
contrast = "hard",
|
||||||
|
hls_cursor = "red",
|
||||||
|
})
|
||||||
|
|
@ -1,27 +1,3 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"https://codeberg.org/mfussenegger/nvim-jdtls",
|
cb("mfussenegger/nvim-jdtls"),
|
||||||
lazy = true,
|
})
|
||||||
ft = { "java" },
|
|
||||||
config = function()
|
|
||||||
local dap = require('dap')
|
|
||||||
dap.configurations.java = {{
|
|
||||||
type = 'java',
|
|
||||||
request = 'attach',
|
|
||||||
name = 'Debug (Attach) port 5005',
|
|
||||||
hostName = '127.0.0.1',
|
|
||||||
port = 5005,
|
|
||||||
},{
|
|
||||||
type = 'java',
|
|
||||||
request = 'attach',
|
|
||||||
name = 'Debug (Attach) port 5006',
|
|
||||||
hostName = '127.0.0.1',
|
|
||||||
port = 5006,
|
|
||||||
},{
|
|
||||||
type = 'java',
|
|
||||||
request = 'attach',
|
|
||||||
name = 'Debug (Attach) port 5105',
|
|
||||||
hostName = '127.0.0.1',
|
|
||||||
port = 5105,
|
|
||||||
}}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,127 +1,3 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"neovim/nvim-lspconfig",
|
gh("neovim/nvim-lspconfig"),
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
})
|
||||||
dependencies = {
|
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<space>e", vim.diagnostic.open_float },
|
|
||||||
{ "[d", vim.diagnostic.goto_prev },
|
|
||||||
{ "]d", vim.diagnostic.goto_next },
|
|
||||||
{ "<space>q", vim.diagnostic.setloclist },
|
|
||||||
{ "gD", vim.lsp.buf.declaration },
|
|
||||||
{ "gd", vim.lsp.buf.definition },
|
|
||||||
{ "K", vim.lsp.buf.hover },
|
|
||||||
{ "gi", vim.lsp.buf.implementation },
|
|
||||||
{ "<C-k>", vim.lsp.buf.signature_help },
|
|
||||||
{ "<space>D", vim.lsp.buf.type_definition },
|
|
||||||
{ "<space>rn", vim.lsp.buf.rename },
|
|
||||||
{ "<space>ca", vim.lsp.buf.code_action },
|
|
||||||
{ "gr", vim.lsp.buf.references },
|
|
||||||
{
|
|
||||||
"<space>f",
|
|
||||||
function()
|
|
||||||
vim.lsp.buf.format { async = true }
|
|
||||||
end
|
|
||||||
},
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
|
|
||||||
local on_attach = function(client, bufnr)
|
|
||||||
-- Format on save
|
|
||||||
if client.server_capabilities.documentFormattingProvider then
|
|
||||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
|
||||||
group = vim.api.nvim_create_augroup("Format", { clear = true }),
|
|
||||||
buffer = bufnr,
|
|
||||||
callback = function()
|
|
||||||
vim.lsp.buf.format()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Typos
|
|
||||||
vim.lsp.config("typos_lsp", {
|
|
||||||
settings = {
|
|
||||||
filetypes = {
|
|
||||||
'java',
|
|
||||||
'go'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
init_options = {
|
|
||||||
diagnosticSeverity = "Hint",
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
-- HTML
|
|
||||||
vim.lsp.enable('html')
|
|
||||||
|
|
||||||
-- CSS
|
|
||||||
vim.lsp.enable('cssls')
|
|
||||||
|
|
||||||
-- JSON
|
|
||||||
vim.lsp.enable('jsonls')
|
|
||||||
|
|
||||||
-- Python
|
|
||||||
vim.lsp.enable('pylsp')
|
|
||||||
|
|
||||||
-- Go
|
|
||||||
vim.lsp.config("gopls", {
|
|
||||||
settings = {
|
|
||||||
gopls = {
|
|
||||||
gofumpt = true,
|
|
||||||
staticcheck = true,
|
|
||||||
analyses = {
|
|
||||||
unusedparams = true,
|
|
||||||
unusedresult = true,
|
|
||||||
unusedwrite = true,
|
|
||||||
unusedvariable = true,
|
|
||||||
useany = true,
|
|
||||||
fieldalignment = false,
|
|
||||||
nilness = true,
|
|
||||||
shadow = true,
|
|
||||||
},
|
|
||||||
hints = {
|
|
||||||
assignVariableTypes = true,
|
|
||||||
compositeLiteralFields = true,
|
|
||||||
compositeLiteralTypes = true,
|
|
||||||
constantValues = true,
|
|
||||||
functionTypeParameters = true,
|
|
||||||
parameterNames = true,
|
|
||||||
rangeVariableTypes = true,
|
|
||||||
},
|
|
||||||
codelenses = {
|
|
||||||
gc_details = true,
|
|
||||||
generate = true,
|
|
||||||
regenerate_cgo = true,
|
|
||||||
tidy = true,
|
|
||||||
upgrade_dependency = true,
|
|
||||||
vendor = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
-- Organize imports and format code on save
|
|
||||||
vim.api.nvim_create_autocmd({"BufWritePre"}, {
|
|
||||||
pattern = "*.go",
|
|
||||||
callback = function()
|
|
||||||
local params = vim.lsp.util.make_range_params()
|
|
||||||
params.context = {only = {"source.organizeImports"}}
|
|
||||||
local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params)
|
|
||||||
for cid, res in pairs(result or {}) do
|
|
||||||
for _, r in pairs(res.result or {}) do
|
|
||||||
if r.edit then
|
|
||||||
local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or "utf-16"
|
|
||||||
vim.lsp.util.apply_workspace_edit(r.edit, enc)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.lsp.buf.format({async = false})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
vim.lsp.enable('gopls')
|
|
||||||
|
|
||||||
-- PHP
|
|
||||||
vim.lsp.enable('phpactor')
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"nvim-lualine/lualine.nvim",
|
gh("nvim-lualine/lualine.nvim"),
|
||||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
})
|
||||||
config = function()
|
|
||||||
require("lualine").setup()
|
require("lualine").setup()
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
return {
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
branch = "v3.x",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<leader>tt", "<cmd>Neotree toggle<cr>", desc = "NeoTree toggle" },
|
|
||||||
{ "<leader>tr", "<cmd>Neotree reveal<cr>", desc = "NeoTree reveal" },
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("neo-tree").setup({
|
|
||||||
window = {
|
|
||||||
position = "left",
|
|
||||||
width = 50,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
16
nvim/lua/plugins/neotree.lua
Normal file
16
nvim/lua/plugins/neotree.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
vim.pack.add({
|
||||||
|
{
|
||||||
|
src = gh("nvim-neo-tree/neo-tree.nvim"),
|
||||||
|
version = vim.version.range("3")
|
||||||
|
},
|
||||||
|
gh("nvim-lua/plenary.nvim"),
|
||||||
|
gh("MunifTanjim/nui.nvim"),
|
||||||
|
gh("nvim-tree/nvim-web-devicons"),
|
||||||
|
})
|
||||||
|
|
||||||
|
require("neo-tree").setup({
|
||||||
|
window = {
|
||||||
|
position = "left",
|
||||||
|
width = 50,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
@ -1,38 +1,33 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
{
|
gl("schrieveslaach/sonarlint.nvim"),
|
||||||
url = "https://gitlab.com/schrieveslaach/sonarlint.nvim",
|
})
|
||||||
lazy = true,
|
|
||||||
ft = {"java", "go", "html", "python", "php"},
|
require('sonarlint').setup({
|
||||||
config = function()
|
server = {
|
||||||
require('sonarlint').setup({
|
cmd = {
|
||||||
server = {
|
'sonarlint-ls',
|
||||||
cmd = {
|
'-stdio',
|
||||||
'sonarlint-ls',
|
'-analyzers',
|
||||||
'-stdio',
|
"/usr/share/java/sonarlint-ls/analyzers/sonarjava.jar",
|
||||||
'-analyzers',
|
"/usr/share/java/sonarlint-ls/analyzers/sonargo.jar",
|
||||||
"/usr/share/java/sonarlint-ls/analyzers/sonarjava.jar",
|
"/usr/share/java/sonarlint-ls/analyzers/sonarhtml.jar",
|
||||||
"/usr/share/java/sonarlint-ls/analyzers/sonargo.jar",
|
"/usr/share/java/sonarlint-ls/analyzers/sonarpython.jar",
|
||||||
"/usr/share/java/sonarlint-ls/analyzers/sonarhtml.jar",
|
"/usr/share/java/sonarlint-ls/analyzers/sonarphp.jar",
|
||||||
"/usr/share/java/sonarlint-ls/analyzers/sonarpython.jar",
|
},
|
||||||
"/usr/share/java/sonarlint-ls/analyzers/sonarphp.jar",
|
settings = {
|
||||||
},
|
sonarlint = {
|
||||||
settings = {
|
test = "test",
|
||||||
sonarlint = {
|
disableTelemetry = true,
|
||||||
test = "test",
|
focusOnNewCode = true,
|
||||||
disableTelemetry = true,
|
showAnalyzerLogs = true,
|
||||||
focusOnNewCode = true,
|
},
|
||||||
showAnalyzerLogs = true,
|
},
|
||||||
},
|
},
|
||||||
},
|
filetypes = {
|
||||||
},
|
'java',
|
||||||
filetypes = {
|
'go',
|
||||||
'java',
|
'html',
|
||||||
'go',
|
'python',
|
||||||
'html',
|
"php"
|
||||||
'python',
|
},
|
||||||
"php"
|
})
|
||||||
},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,12 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
'nvim-telescope/telescope.nvim',
|
gh('nvim-telescope/telescope.nvim'),
|
||||||
branch = '0.1.x',
|
gh('nvim-telescope/telescope-ui-select.nvim'),
|
||||||
lazy = false,
|
gh("nvim-lua/plenary.nvim"),
|
||||||
dependencies = {
|
})
|
||||||
'nvim-lua/plenary.nvim',
|
|
||||||
'nvim-telescope/telescope-ui-select.nvim',
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<C-p>", "<cmd>Telescope<cr>" },
|
|
||||||
{ "<C-b>", "<cmd>Telescope buffers<cr>", desc = "Find luffers" },
|
|
||||||
{ "<A-r>", "<cmd>Telescope git_files<CR>", desc = "Find files" },
|
|
||||||
{ "<C-l>", "<cmd>Telescope lsp_document_symbols<CR>", desc = "Find symbols" },
|
|
||||||
{ "<C-d>", "<cmd>lua require('telescope.builtin').diagnostics({severity_limit='WARN'})<CR>", desc = "Show errors and warnings" },
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local t = require("telescope")
|
|
||||||
t.setup({
|
|
||||||
defaults = {
|
|
||||||
preview = false,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
t.load_extension("ui-select")
|
require("telescope").setup({
|
||||||
end
|
defaults = {
|
||||||
}
|
preview = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
require("telescope").load_extension("ui-select")
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"folke/todo-comments.nvim",
|
gh("folke/todo-comments.nvim"),
|
||||||
dependencies = {
|
gh("nvim-lua/plenary.nvim"),
|
||||||
"nvim-lua/plenary.nvim",
|
})
|
||||||
},
|
|
||||||
opts = {
|
require("todo-comments").setup()
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,57 +1,75 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"nvim-treesitter/nvim-treesitter",
|
gh("neovim-treesitter/nvim-treesitter"),
|
||||||
event = {
|
})
|
||||||
"BufReadPre",
|
|
||||||
"BufNewFile",
|
|
||||||
},
|
|
||||||
build = ":TSUpdate",
|
|
||||||
config = function()
|
|
||||||
local treesitter = require("nvim-treesitter.configs")
|
|
||||||
|
|
||||||
treesitter.setup({
|
--require("nvim-treesitter.configs").setup({
|
||||||
highlight = {
|
-- highlight = {
|
||||||
enable = true,
|
-- enable = true,
|
||||||
additional_vim_regex_highlighting = false,
|
-- additional_vim_regex_highlighting = false,
|
||||||
},
|
-- },
|
||||||
indent = {
|
-- indent = {
|
||||||
enable = true
|
-- enable = true
|
||||||
},
|
-- },
|
||||||
autotag = {
|
-- autotag = {
|
||||||
enable = true,
|
-- enable = true,
|
||||||
},
|
-- },
|
||||||
ensure_installed = {
|
-- ensure_installed = {
|
||||||
"json",
|
-- "json",
|
||||||
"javascript",
|
-- "javascript",
|
||||||
"yaml",
|
-- "yaml",
|
||||||
"html",
|
-- "html",
|
||||||
"css",
|
-- "http",
|
||||||
"markdown",
|
-- "css",
|
||||||
"markdown_inline",
|
-- "markdown",
|
||||||
"bash",
|
-- "markdown_inline",
|
||||||
"lua",
|
-- "bash",
|
||||||
"vim",
|
-- "lua",
|
||||||
"gitignore",
|
-- "vim",
|
||||||
"go",
|
-- "gitignore",
|
||||||
},
|
-- "go",
|
||||||
incremental_selection = {
|
-- },
|
||||||
enable = true,
|
-- incremental_selection = {
|
||||||
keymaps = {
|
-- enable = true,
|
||||||
init_selection = "<C-space>",
|
-- keymaps = {
|
||||||
node_incremental = "<C-space>",
|
-- init_selection = "<C-space>",
|
||||||
scope_incremental = false,
|
-- node_incremental = "<C-space>",
|
||||||
node_decremental = "<bs>",
|
-- scope_incremental = false,
|
||||||
},
|
-- node_decremental = "<bs>",
|
||||||
},
|
-- },
|
||||||
rainbow = {
|
-- },
|
||||||
enable = true,
|
-- rainbow = {
|
||||||
disable = { "html" },
|
-- enable = true,
|
||||||
extended_mode = false,
|
-- disable = { "html" },
|
||||||
max_file_lines = nil,
|
-- extended_mode = false,
|
||||||
},
|
-- max_file_lines = nil,
|
||||||
context_commentstring = {
|
-- },
|
||||||
enable = true,
|
-- context_commentstring = {
|
||||||
enable_autocmd = false,
|
-- enable = true,
|
||||||
},
|
-- enable_autocmd = false,
|
||||||
})
|
-- },
|
||||||
end,
|
--})
|
||||||
|
require("nvim-treesitter").install {
|
||||||
|
"fish",
|
||||||
|
"lua",
|
||||||
|
"gitcommit",
|
||||||
|
"gitignore",
|
||||||
|
"http",
|
||||||
|
"html",
|
||||||
|
"css",
|
||||||
|
"javascript",
|
||||||
|
"json",
|
||||||
|
"yaml",
|
||||||
|
"markdown",
|
||||||
|
"markdown_inline",
|
||||||
|
"go",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = { "http", "html", "go" },
|
||||||
|
callback = function()
|
||||||
|
vim.treesitter.start()
|
||||||
|
--vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
||||||
|
--vim.wo.foldmethod = "expr"
|
||||||
|
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,87 +1,4 @@
|
||||||
return {
|
vim.pack.add({
|
||||||
"folke/trouble.nvim",
|
gh("folke/trouble.nvim"),
|
||||||
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
gh("nvim-tree/nvim-web-devicons"),
|
||||||
cmd = "Trouble",
|
})
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>xx",
|
|
||||||
"<cmd>Trouble diagnostics toggle<cr>",
|
|
||||||
desc = "Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xX",
|
|
||||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
|
||||||
desc = "Buffer Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xe",
|
|
||||||
"<cmd>Trouble diagnostics filter.severity=vim.diagnostic.severity.ERROR<cr>",
|
|
||||||
desc = "Error Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xE",
|
|
||||||
"<cmd>Trouble diagnostics filter.buf=0 filter.severity=vim.diagnostic.severity.ERROR<cr>",
|
|
||||||
desc = "Error Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xw",
|
|
||||||
"<cmd>Trouble diagnostics filter.severity=vim.diagnostic.severity.WARN<cr>",
|
|
||||||
desc = "Warning Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xW",
|
|
||||||
"<cmd>Trouble diagnostics filter.buf=0 filter.severity=vim.diagnostic.severity.WARN<cr>",
|
|
||||||
desc = "Warning Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xi",
|
|
||||||
"<cmd>Trouble diagnostics filter.severity=vim.diagnostic.severity.INFO<cr>",
|
|
||||||
desc = "Info Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xI",
|
|
||||||
"<cmd>Trouble diagnostics filter.buf=0 filter.severity=vim.diagnostic.severity.INFO<cr>",
|
|
||||||
desc = "Info Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xh",
|
|
||||||
"<cmd>Trouble diagnostics filter.severity=vim.diagnostic.severity.HINT<cr>",
|
|
||||||
desc = "Info Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xH",
|
|
||||||
"<cmd>Trouble diagnostics filter.buf=0 filter.severity=vim.diagnostic.severity.HINT<cr>",
|
|
||||||
desc = "Info Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xt",
|
|
||||||
"<cmd>Trouble todo<cr>",
|
|
||||||
desc = "TODOs (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xT",
|
|
||||||
"<cmd>Trouble todo filter.buf=0<cr>",
|
|
||||||
desc = "TODOs (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>cs",
|
|
||||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
|
||||||
desc = "Symbols (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>cl",
|
|
||||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
|
||||||
desc = "LSP Definitions / references / ... (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xL",
|
|
||||||
"<cmd>Trouble loclist toggle<cr>",
|
|
||||||
desc = "Location List (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xQ",
|
|
||||||
"<cmd>Trouble qflist toggle<cr>",
|
|
||||||
desc = "Quickfix List (Trouble)",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
|
||||||
11
nvim/lua/plugins/typos.lua
Normal file
11
nvim/lua/plugins/typos.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
vim.lsp.config("typos_lsp", {
|
||||||
|
settings = {
|
||||||
|
filetypes = {
|
||||||
|
'java',
|
||||||
|
'go'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
init_options = {
|
||||||
|
diagnosticSeverity = "Hint",
|
||||||
|
}
|
||||||
|
})
|
||||||
77
nvim/lua/user/bindings.lua
Normal file
77
nvim/lua/user/bindings.lua
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
|
||||||
|
-- Navigation
|
||||||
|
vim.keymap.set('n', 'gb', ':bn<CR>')
|
||||||
|
vim.keymap.set('n', 'gB', ':bp<CR>')
|
||||||
|
vim.keymap.set('n', 'g#', ':b#<CR>')
|
||||||
|
vim.keymap.set("n", "<leader>tt", "<cmd>Neotree toggle<cr>")
|
||||||
|
vim.keymap.set("n", "<leader>tr", "<cmd>Neotree reveal<cr>")
|
||||||
|
vim.keymap.set("n", "<C-p>", "<cmd>Telescope<cr>")
|
||||||
|
vim.keymap.set("n", "<C-b>", "<cmd>Telescope buffers<cr>")
|
||||||
|
vim.keymap.set("n", "<A-r>", "<cmd>Telescope git_files<CR>")
|
||||||
|
vim.keymap.set("n", "<C-l>", "<cmd>Telescope lsp_document_symbols<CR>")
|
||||||
|
vim.keymap.set("n", "<C-d>", "<cmd>lua require('telescope.builtin').diagnostics({severity_limit='WARN'})<CR>")
|
||||||
|
|
||||||
|
-- Terminal mode
|
||||||
|
vim.keymap.set('t', '<Esc>', '<C-\\><C-n>', { noremap = true})
|
||||||
|
|
||||||
|
-- LSP
|
||||||
|
vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float)
|
||||||
|
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
|
||||||
|
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
|
||||||
|
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist)
|
||||||
|
vim.keymap.set("n", "gD", vim.lsp.buf.declaration)
|
||||||
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition)
|
||||||
|
vim.keymap.set("n", "K", vim.lsp.buf.hover)
|
||||||
|
vim.keymap.set("n", "gi", vim.lsp.buf.implementation)
|
||||||
|
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help)
|
||||||
|
vim.keymap.set("n", "<leader>D", vim.lsp.buf.type_definition)
|
||||||
|
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename)
|
||||||
|
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action)
|
||||||
|
vim.keymap.set("n", "gr", vim.lsp.buf.references)
|
||||||
|
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format { async = true } end)
|
||||||
|
vim.keymap.set("n", "<leader>xx", function() require('trouble').toggle({mode="diagnostics"}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xX", function() require('trouble').toggle({mode="diagnostics", filter={buf=0}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xe", function() require('trouble').toggle({mode="diagnostics", filter={severity=vim.diagnostic.severity.ERROR}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xE", function() require('trouble').toggle({mode="diagnostics", filter={severity=vim.diagnostic.severity.ERROR, buf=0}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xw", function() require('trouble').toggle({mode="diagnostics", filter={severity=vim.diagnostic.severity.WARN}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xW", function() require('trouble').toggle({mode="diagnostics", filter={severity=vim.diagnostic.severity.WARN, buf=0}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xi", function() require('trouble').toggle({mode="diagnostics", filter={severity=vim.diagnostic.severity.INFO}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xI", function() require('trouble').toggle({mode="diagnostics", filter={severity=vim.diagnostic.severity.INFO, buf=0}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xh", function() require('trouble').toggle({mode="diagnostics", filter={severity=vim.diagnostic.severity.HINT}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xH", function() require('trouble').toggle({mode="diagnostics", filter={severity=vim.diagnostic.severity.HINT, buf=0}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xt", function() require('trouble').toggle({mode="todo"}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xT", function() require('trouble').toggle({mode="todo", filter={buf=0}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>cs", function() require('trouble').toggle({mode="symbols"}) end)
|
||||||
|
vim.keymap.set("n", "<leader>cl", function() require('trouble').toggle({mode="lsp", win={position="right"}}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xL", function() require('trouble').toggle({mode="loclist"}) end)
|
||||||
|
vim.keymap.set("n", "<leader>xQ", function() require('trouble').toggle({mode="qflist"}) end)
|
||||||
|
|
||||||
|
-- DAP
|
||||||
|
vim.keymap.set("n", "<F11>", function() require("dap").continue() end)
|
||||||
|
vim.keymap.set("n", "<F6>", function() require("dap").step_over() end)
|
||||||
|
vim.keymap.set("n", "<F5>", function() require("dap").step_into() end)
|
||||||
|
vim.keymap.set("n", "<F12>", function() require("dap").step_out() end)
|
||||||
|
vim.keymap.set("n", "<space>b", function() require("dap").toggle_breakpoint() end)
|
||||||
|
vim.keymap.set({"n", "v"}, "<leader>d", "")
|
||||||
|
vim.keymap.set("n", "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end)
|
||||||
|
vim.keymap.set("n", "<leader>db", function() require("dap").toggle_breakpoint() end)
|
||||||
|
vim.keymap.set("n", "<leader>dc", function() require("dap").continue() end)
|
||||||
|
vim.keymap.set("n", "<leader>da", function() require("dap").continue({ before = get_args }) end)
|
||||||
|
vim.keymap.set("n", "<leader>dC", function() require("dap").run_to_cursor() end)
|
||||||
|
vim.keymap.set("n", "<leader>dg", function() require("dap").goto_() end)
|
||||||
|
vim.keymap.set("n", "<leader>di", function() require("dap").step_into() end)
|
||||||
|
vim.keymap.set("n", "<leader>dj", function() require("dap").down() end)
|
||||||
|
vim.keymap.set("n", "<leader>dk", function() require("dap").up() end)
|
||||||
|
vim.keymap.set("n", "<leader>dl", function() require("dap").run_last() end)
|
||||||
|
vim.keymap.set("n", "<leader>do", function() require("dap").step_out() end)
|
||||||
|
vim.keymap.set("n", "<leader>dO", function() require("dap").step_over() end)
|
||||||
|
vim.keymap.set("n", "<leader>dp", function() require("dap").pause() end)
|
||||||
|
vim.keymap.set("n", "<leader>dr", function() require("dap").repl.toggle() end)
|
||||||
|
vim.keymap.set("n", "<leader>ds", function() require("dap").session() end)
|
||||||
|
vim.keymap.set("n", "<leader>dt", function() require("dap").terminate() end)
|
||||||
|
vim.keymap.set("n", "<leader>dw", function() require("dap.ui.widgets").hover() end)
|
||||||
|
vim.keymap.set("n", "<leader>df", function() require('jdtls').test_class() end)
|
||||||
|
vim.keymap.set("n", "<leader>dn", function() require('jdtls').test_nearest_method() end)
|
||||||
|
vim.keymap.set("n", "<leader>du", function() require("dapui").toggle({ }) end)
|
||||||
|
vim.keymap.set({"n", "v"}, "<leader>de", function() require("dapui").eval() end)
|
||||||
21
nvim/lua/user/dap.lua
Normal file
21
nvim/lua/user/dap.lua
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
local dap = require("dap")
|
||||||
|
|
||||||
|
dap.configurations.java = {{
|
||||||
|
type = 'java',
|
||||||
|
request = 'attach',
|
||||||
|
name = 'Debug (Attach) port 5005',
|
||||||
|
hostName = '127.0.0.1',
|
||||||
|
port = 5005,
|
||||||
|
},{
|
||||||
|
type = 'java',
|
||||||
|
request = 'attach',
|
||||||
|
name = 'Debug (Attach) port 5006',
|
||||||
|
hostName = '127.0.0.1',
|
||||||
|
port = 5006,
|
||||||
|
},{
|
||||||
|
type = 'java',
|
||||||
|
request = 'attach',
|
||||||
|
name = 'Debug (Attach) port 5105',
|
||||||
|
hostName = '127.0.0.1',
|
||||||
|
port = 5105,
|
||||||
|
}}
|
||||||
69
nvim/lua/user/lsp.lua
Normal file
69
nvim/lua/user/lsp.lua
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
--vim.lsp.inlay_hint.enable()
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = true,
|
||||||
|
--virtual_lines = true,
|
||||||
|
--virtual_lines = {
|
||||||
|
-- current_line = true,
|
||||||
|
--},
|
||||||
|
severity_sort = true,
|
||||||
|
})
|
||||||
|
vim.opt.completeopt = { "menuone", "noselect", "popup", "fuzzy" }
|
||||||
|
|
||||||
|
vim.lsp.enable('html')
|
||||||
|
vim.lsp.enable('cssls')
|
||||||
|
vim.lsp.enable('jsonls')
|
||||||
|
vim.lsp.enable('typos_lsp')
|
||||||
|
-- Go
|
||||||
|
vim.lsp.config("gopls", {
|
||||||
|
settings = {
|
||||||
|
gopls = {
|
||||||
|
gofumpt = true,
|
||||||
|
staticcheck = true,
|
||||||
|
analyses = {
|
||||||
|
unusedparams = true,
|
||||||
|
unusedresult = true,
|
||||||
|
unusedwrite = true,
|
||||||
|
unusedvariable = true,
|
||||||
|
useany = true,
|
||||||
|
fieldalignment = false,
|
||||||
|
nilness = true,
|
||||||
|
shadow = true,
|
||||||
|
},
|
||||||
|
hints = {
|
||||||
|
assignVariableTypes = true,
|
||||||
|
compositeLiteralFields = true,
|
||||||
|
compositeLiteralTypes = true,
|
||||||
|
constantValues = true,
|
||||||
|
functionTypeParameters = true,
|
||||||
|
parameterNames = true,
|
||||||
|
rangeVariableTypes = true,
|
||||||
|
},
|
||||||
|
codelenses = {
|
||||||
|
gc_details = true,
|
||||||
|
generate = true,
|
||||||
|
regenerate_cgo = true,
|
||||||
|
tidy = true,
|
||||||
|
upgrade_dependency = true,
|
||||||
|
vendor = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_autocmd({"BufWritePre"}, {
|
||||||
|
pattern = "*.go",
|
||||||
|
callback = function()
|
||||||
|
local params = vim.lsp.util.make_range_params()
|
||||||
|
params.context = {only = {"source.organizeImports"}}
|
||||||
|
local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params)
|
||||||
|
for cid, res in pairs(result or {}) do
|
||||||
|
for _, r in pairs(res.result or {}) do
|
||||||
|
if r.edit then
|
||||||
|
local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or "utf-16"
|
||||||
|
vim.lsp.util.apply_workspace_edit(r.edit, enc)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
vim.lsp.buf.format({async = false})
|
||||||
|
end
|
||||||
|
})
|
||||||
|
vim.lsp.enable('gopls')
|
||||||
38
nvim/lua/user/options.lua
Normal file
38
nvim/lua/user/options.lua
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
vim.o.wrap = false
|
||||||
|
vim.o.number = true
|
||||||
|
vim.o.wildmode = "longest,list"
|
||||||
|
vim.o.colorcolumn = "120"
|
||||||
|
vim.o.tabpagemax = 500
|
||||||
|
vim.o.scrolloff = 4;
|
||||||
|
|
||||||
|
-- Indentation
|
||||||
|
vim.o.smartindent = true
|
||||||
|
vim.o.tabstop = 4
|
||||||
|
vim.o.softtabstop = 4
|
||||||
|
vim.o.shiftwidth = 4
|
||||||
|
vim.o.expandtab = true
|
||||||
|
vim.o.cursorcolumn = true
|
||||||
|
vim.o.cursorline = true
|
||||||
|
|
||||||
|
-- Search
|
||||||
|
vim.o.incsearch = true
|
||||||
|
vim.o.hlsearch = true
|
||||||
|
vim.o.ignorecase = true
|
||||||
|
vim.o.smartcase = true
|
||||||
|
|
||||||
|
-- Whitespaces
|
||||||
|
vim.o.listchars = "tab:>-,trail:·"
|
||||||
|
vim.o.list = true
|
||||||
|
|
||||||
|
-- File handling
|
||||||
|
vim.o.hidden = true
|
||||||
|
|
||||||
|
vim.cmd("syntax enable")
|
||||||
|
vim.cmd("filetype plugin on")
|
||||||
|
|
||||||
|
-- Colorscheme
|
||||||
|
vim.cmd("colorscheme gruvbox")
|
||||||
|
|
||||||
|
-- REST
|
||||||
|
vim.g.rest_nvim = {
|
||||||
|
}
|
||||||
19
nvim/lua/user/plugins.lua
Normal file
19
nvim/lua/user/plugins.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
gh = function(x) return "https://github.com/" .. x end
|
||||||
|
gl = function(x) return "https://gitlab.com/" .. x end
|
||||||
|
cb = function(x) return "https://codeberg.org/" .. x end
|
||||||
|
|
||||||
|
require("plugins.gruvbox")
|
||||||
|
require("plugins.lualine")
|
||||||
|
require("plugins.neotree")
|
||||||
|
require("plugins.gitsigns")
|
||||||
|
require("plugins.telescope")
|
||||||
|
require("plugins.trouble")
|
||||||
|
require("plugins.todo-comments")
|
||||||
|
require("plugins.treesitter")
|
||||||
|
require("plugins.lspconfig")
|
||||||
|
require("plugins.typos")
|
||||||
|
require("plugins.jdtls")
|
||||||
|
require("plugins.sonarlint")
|
||||||
|
require("plugins.dap")
|
||||||
|
require("plugins.dap-go")
|
||||||
|
require("plugins.cmp")
|
||||||
21
sway/config
21
sway/config
|
|
@ -106,10 +106,6 @@ bindsym Ctrl+Shift+space exec makoctl dismiss --all
|
||||||
# Passmenu
|
# Passmenu
|
||||||
bindcode $mod+55 exec gopass ls --flat | bemenu -i -l 10 -m all -p Password: --fn "DejaVu Sans 12" | xargs --no-run-if-empty gopass show -c --nosync
|
bindcode $mod+55 exec gopass ls --flat | bemenu -i -l 10 -m all -p Password: --fn "DejaVu Sans 12" | xargs --no-run-if-empty gopass show -c --nosync
|
||||||
|
|
||||||
# Timew
|
|
||||||
bindcode $mod+56 exec ~/.local/bin/timewmenu -i -l 10 -m all -p "Track:" --fn "DejaVu Sans 12"
|
|
||||||
bindcode $mod+Ctrl+56 exec timew stop
|
|
||||||
|
|
||||||
# Resizing containers
|
# Resizing containers
|
||||||
mode "resize" {
|
mode "resize" {
|
||||||
bindcode $left resize shrink width 80px
|
bindcode $left resize shrink width 80px
|
||||||
|
|
@ -154,6 +150,23 @@ mode "$mode_system" {
|
||||||
}
|
}
|
||||||
bindcode $mod+Shift+55 mode "$mode_system"
|
bindcode $mod+Shift+55 mode "$mode_system"
|
||||||
|
|
||||||
|
# Screenshot
|
||||||
|
set $mode_screenshot Screenshot (o) output, (a) active, (r) region, (Shift+o) copy output, (Shift+a) copy active, (Shift+r) copy region
|
||||||
|
mode "$mode_screenshot" {
|
||||||
|
bindsym o exec 'grimshot save output | xargs -I {} notify-send -t 10000 Screenshot "{}"', mode "default"
|
||||||
|
bindsym a exec 'grimshot save active | xargs -I {} notify-send -t 10000 Screenshot "{}"', mode "default"
|
||||||
|
bindsym r exec 'grimshot save area | xargs -I {} notify-send -t 10000 Screenshot "{}"', mode "default"
|
||||||
|
bindsym Shift+o exec 'grimshot copy output | xargs -I {} notify-send -t 10000 Screenshot "{}"', mode "default"
|
||||||
|
bindsym Shift+a exec 'grimshot copy active | xargs -I {} notify-send -t 10000 Screenshot "{}"', mode "default"
|
||||||
|
bindsym Shift+r exec 'grimshot copy area | xargs -I {} notify-send -t 10000 Screenshot "{}"', mode "default"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym mod3+Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym mod3+Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+l mode "$mode_screenshot"
|
||||||
|
bindsym Print exec grimshot save output | xargs -I {} notify-send -t 10000 Screenshot "{}"
|
||||||
|
|
||||||
# Systemd environment
|
# Systemd environment
|
||||||
exec "systemctl --user import-environment; systemctl --user start sway-session.target"
|
exec "systemctl --user import-environment; systemctl --user start sway-session.target"
|
||||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||||
|
|
|
||||||
12
sway/yuki
12
sway/yuki
|
|
@ -1,6 +1,8 @@
|
||||||
# Output configuration
|
# Output configuration
|
||||||
output * bg "~/.config/sway/bg.png" fill
|
output * bg "~/.config/sway/bg.png" fill
|
||||||
output DP-1 resolution 3840x2160 scale 1.5 position 0,0 color_profile icc "~/.config/sway/yuki.icc"
|
output DP-1 resolution 3840x2160 scale 1.5 position 1080,0 color_profile icc "~/.config/sway/yuki.icc"
|
||||||
|
output HDMI-A-1 resolution 1920x1080 scale 1.0 position 0,-300 transform 90
|
||||||
|
output HDMI-A-1 disable
|
||||||
|
|
||||||
# Input configuration
|
# Input configuration
|
||||||
input type:pointer {
|
input type:pointer {
|
||||||
|
|
@ -9,12 +11,10 @@ input type:pointer {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Monitor setup
|
# Monitor setup
|
||||||
set $mode_monitor Monitor (l) single left, (r) single right, (h) dual horizontal, ((v) dual vertical
|
set $mode_monitor Monitor (s) single, (d) dual
|
||||||
mode "$mode_monitor" {
|
mode "$mode_monitor" {
|
||||||
bindsym l output HDMI-A-1 enable, output DP-1 disable, mode "default"
|
bindsym s output HDMI-A-1 disable, mode "default"
|
||||||
bindsym r output DP-1 enable position 0 0 transform normal, output HDMI-A-1 disable, mode "default"
|
bindsym d output HDMI-A-1 enable, mode "default"
|
||||||
bindsym h output HDMI-A-1 enable, output DP-1 enable position 1920 0 transform normal, mode "default"
|
|
||||||
bindsym v output HDMI-A-1 enable, output DP-1 enable position 1920 -500 transform 270, mode "default"
|
|
||||||
bindsym Return mode "default"
|
bindsym Return mode "default"
|
||||||
bindsym mod3+Return mode "default"
|
bindsym mod3+Return mode "default"
|
||||||
bindsym Escape mode "default"
|
bindsym Escape mode "default"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue