Compare commits
No commits in common. "644020395874c94823945d453649c0c3ff9f3966" and "4e3b829bf04bcab4504b0820aff7aad525620f22" have entirely different histories.
6440203958
...
4e3b829bf0
28 changed files with 626 additions and 476 deletions
|
|
@ -1,5 +0,0 @@
|
|||
require('user.plugins')
|
||||
require('user.options')
|
||||
require('user.lsp')
|
||||
require('user.dap')
|
||||
require('user.bindings')
|
||||
55
nvim/init.vim
Normal file
55
nvim/init.vim
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
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
|
||||
35
nvim/lua/config/lazy.lua
Normal file
35
nvim/lua/config/lazy.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
-- 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,22 +1,33 @@
|
|||
vim.pack.add({
|
||||
gh("hrsh7th/nvim-cmp"),
|
||||
gh("hrsh7th/cmp-nvim-lsp"),
|
||||
gh("hrsh7th/cmp-buffer"),
|
||||
gh("hrsh7th/cmp-path"),
|
||||
})
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
lazy = true,
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
},
|
||||
config = function()
|
||||
local cmp = require("cmp")
|
||||
|
||||
local cmp = require("cmp")
|
||||
cmp.setup({
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.close(),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "buffer" },
|
||||
{ name = "path" },
|
||||
}),
|
||||
})
|
||||
cmp.setup({
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.close(),
|
||||
-- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "buffer" },
|
||||
{ name = "path" },
|
||||
}),
|
||||
})
|
||||
|
||||
vim.cmd([[
|
||||
set completeopt=menuone,noinsert,noselect
|
||||
highlight! default link CmpItemKind CmpItemMenuDefault
|
||||
]])
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
14
nvim/lua/plugins/colorscheme.lua
Normal file
14
nvim/lua/plugins/colorscheme.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
{
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
priority = 1000 ,
|
||||
config = true,
|
||||
init = function()
|
||||
require("gruvbox").setup({
|
||||
contrast = "hard",
|
||||
hls_cursor = "red",
|
||||
})
|
||||
vim.cmd("colorscheme gruvbox")
|
||||
end
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
vim.pack.add({
|
||||
gh("leoluz/nvim-dap-go"),
|
||||
})
|
||||
|
||||
require('dap-go').setup()
|
||||
return {
|
||||
"leoluz/nvim-dap-go",
|
||||
dependencies = {
|
||||
"https://codeberg.org/mfussenegger/nvim-dap",
|
||||
},
|
||||
lazy = true,
|
||||
ft = { "go" },
|
||||
config = function()
|
||||
require('dap-go').setup()
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
31
nvim/lua/plugins/dap-ui.lua
Normal file
31
nvim/lua/plugins/dap-ui.lua
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
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,20 +1,37 @@
|
|||
vim.pack.add({
|
||||
cb("mfussenegger/nvim-dap"),
|
||||
gh("rcarriga/nvim-dap-ui"),
|
||||
gh("theHamsta/nvim-dap-virtual-text"),
|
||||
gh("rcarriga/nvim-dap-ui"),
|
||||
gh("nvim-neotest/nvim-nio"),
|
||||
})
|
||||
|
||||
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
|
||||
return {
|
||||
"https://codeberg.org/mfussenegger/nvim-dap",
|
||||
lazy = true,
|
||||
ft = { "java", "go", "python" },
|
||||
dependencies = {
|
||||
"rcarriga/nvim-dap-ui",
|
||||
{
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
opts = {},
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "<F11>", function() require("dap").continue() end, desc = "Continue" },
|
||||
{ "<F6>", function() require("dap").step_over() end, desc = "Step over" },
|
||||
{ "<F5>", function() require("dap").step_into() end, desc = "Step into" },
|
||||
{ "<F12>", function() require("dap").step_out() end, desc = "Step out" },
|
||||
{ "<space>b", function() require("dap").toggle_breakpoint() end, desc = "Toggle " },
|
||||
{ "<leader>d", "", desc = "+debug", mode = {"n", "v"} },
|
||||
{ "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" },
|
||||
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
|
||||
{ "<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,5 +1,6 @@
|
|||
vim.pack.add({
|
||||
gh("lewis6991/gitsigns.nvim"),
|
||||
})
|
||||
|
||||
require("gitsigns").setup()
|
||||
return {
|
||||
"lewis6991/gitsigns.nvim",
|
||||
config = function()
|
||||
require("gitsigns").setup()
|
||||
end
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
vim.pack.add({
|
||||
gh("ellisonleao/gruvbox.nvim"),
|
||||
})
|
||||
|
||||
require("gruvbox").setup({
|
||||
contrast = "hard",
|
||||
hls_cursor = "red",
|
||||
})
|
||||
|
|
@ -1,3 +1,27 @@
|
|||
vim.pack.add({
|
||||
cb("mfussenegger/nvim-jdtls"),
|
||||
})
|
||||
return {
|
||||
"https://codeberg.org/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,3 +1,127 @@
|
|||
vim.pack.add({
|
||||
gh("neovim/nvim-lspconfig"),
|
||||
})
|
||||
return {
|
||||
"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,5 +1,7 @@
|
|||
vim.pack.add({
|
||||
gh("nvim-lualine/lualine.nvim"),
|
||||
})
|
||||
|
||||
require("lualine").setup()
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
require("lualine").setup()
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
21
nvim/lua/plugins/neo-tree.lua
Normal file
21
nvim/lua/plugins/neo-tree.lua
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
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,33 +1,38 @@
|
|||
vim.pack.add({
|
||||
gl("schrieveslaach/sonarlint.nvim"),
|
||||
})
|
||||
|
||||
require('sonarlint').setup({
|
||||
server = {
|
||||
cmd = {
|
||||
'sonarlint-ls',
|
||||
'-stdio',
|
||||
'-analyzers',
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonarjava.jar",
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonargo.jar",
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonarhtml.jar",
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonarpython.jar",
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonarphp.jar",
|
||||
},
|
||||
settings = {
|
||||
sonarlint = {
|
||||
test = "test",
|
||||
disableTelemetry = true,
|
||||
focusOnNewCode = true,
|
||||
showAnalyzerLogs = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
filetypes = {
|
||||
'java',
|
||||
'go',
|
||||
'html',
|
||||
'python',
|
||||
"php"
|
||||
},
|
||||
})
|
||||
return {
|
||||
{
|
||||
url = "https://gitlab.com/schrieveslaach/sonarlint.nvim",
|
||||
lazy = true,
|
||||
ft = {"java", "go", "html", "python", "php"},
|
||||
config = function()
|
||||
require('sonarlint').setup({
|
||||
server = {
|
||||
cmd = {
|
||||
'sonarlint-ls',
|
||||
'-stdio',
|
||||
'-analyzers',
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonarjava.jar",
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonargo.jar",
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonarhtml.jar",
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonarpython.jar",
|
||||
"/usr/share/java/sonarlint-ls/analyzers/sonarphp.jar",
|
||||
},
|
||||
settings = {
|
||||
sonarlint = {
|
||||
test = "test",
|
||||
disableTelemetry = true,
|
||||
focusOnNewCode = true,
|
||||
showAnalyzerLogs = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
filetypes = {
|
||||
'java',
|
||||
'go',
|
||||
'html',
|
||||
'python',
|
||||
"php"
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,26 @@
|
|||
vim.pack.add({
|
||||
gh('nvim-telescope/telescope.nvim'),
|
||||
gh('nvim-telescope/telescope-ui-select.nvim'),
|
||||
gh("nvim-lua/plenary.nvim"),
|
||||
})
|
||||
|
||||
require("telescope").setup({
|
||||
defaults = {
|
||||
preview = false,
|
||||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
branch = '0.1.x',
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-telescope/telescope-ui-select.nvim',
|
||||
},
|
||||
})
|
||||
require("telescope").load_extension("ui-select")
|
||||
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")
|
||||
end
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
vim.pack.add({
|
||||
gh("folke/todo-comments.nvim"),
|
||||
gh("nvim-lua/plenary.nvim"),
|
||||
})
|
||||
|
||||
require("todo-comments").setup()
|
||||
return {
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
opts = {
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,75 +1,57 @@
|
|||
vim.pack.add({
|
||||
gh("neovim-treesitter/nvim-treesitter"),
|
||||
})
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
event = {
|
||||
"BufReadPre",
|
||||
"BufNewFile",
|
||||
},
|
||||
build = ":TSUpdate",
|
||||
config = function()
|
||||
local treesitter = require("nvim-treesitter.configs")
|
||||
|
||||
--require("nvim-treesitter.configs").setup({
|
||||
-- highlight = {
|
||||
-- enable = true,
|
||||
-- additional_vim_regex_highlighting = false,
|
||||
-- },
|
||||
-- indent = {
|
||||
-- enable = true
|
||||
-- },
|
||||
-- autotag = {
|
||||
-- enable = true,
|
||||
-- },
|
||||
-- ensure_installed = {
|
||||
-- "json",
|
||||
-- "javascript",
|
||||
-- "yaml",
|
||||
-- "html",
|
||||
-- "http",
|
||||
-- "css",
|
||||
-- "markdown",
|
||||
-- "markdown_inline",
|
||||
-- "bash",
|
||||
-- "lua",
|
||||
-- "vim",
|
||||
-- "gitignore",
|
||||
-- "go",
|
||||
-- },
|
||||
-- incremental_selection = {
|
||||
-- enable = true,
|
||||
-- keymaps = {
|
||||
-- init_selection = "<C-space>",
|
||||
-- node_incremental = "<C-space>",
|
||||
-- scope_incremental = false,
|
||||
-- node_decremental = "<bs>",
|
||||
-- },
|
||||
-- },
|
||||
-- rainbow = {
|
||||
-- enable = true,
|
||||
-- disable = { "html" },
|
||||
-- extended_mode = false,
|
||||
-- max_file_lines = nil,
|
||||
-- },
|
||||
-- context_commentstring = {
|
||||
-- enable = true,
|
||||
-- enable_autocmd = false,
|
||||
-- },
|
||||
--})
|
||||
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()"
|
||||
treesitter.setup({
|
||||
highlight = {
|
||||
enable = true,
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
indent = {
|
||||
enable = true
|
||||
},
|
||||
autotag = {
|
||||
enable = true,
|
||||
},
|
||||
ensure_installed = {
|
||||
"json",
|
||||
"javascript",
|
||||
"yaml",
|
||||
"html",
|
||||
"css",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"bash",
|
||||
"lua",
|
||||
"vim",
|
||||
"gitignore",
|
||||
"go",
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "<C-space>",
|
||||
node_incremental = "<C-space>",
|
||||
scope_incremental = false,
|
||||
node_decremental = "<bs>",
|
||||
},
|
||||
},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
disable = { "html" },
|
||||
extended_mode = false,
|
||||
max_file_lines = nil,
|
||||
},
|
||||
context_commentstring = {
|
||||
enable = true,
|
||||
enable_autocmd = false,
|
||||
},
|
||||
})
|
||||
end,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,87 @@
|
|||
vim.pack.add({
|
||||
gh("folke/trouble.nvim"),
|
||||
gh("nvim-tree/nvim-web-devicons"),
|
||||
})
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
||||
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)",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
vim.lsp.config("typos_lsp", {
|
||||
settings = {
|
||||
filetypes = {
|
||||
'java',
|
||||
'go'
|
||||
},
|
||||
},
|
||||
init_options = {
|
||||
diagnosticSeverity = "Hint",
|
||||
}
|
||||
})
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
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)
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
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,
|
||||
}}
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
--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')
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
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 = {
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
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,6 +106,10 @@ bindsym Ctrl+Shift+space exec makoctl dismiss --all
|
|||
# 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
|
||||
|
||||
# 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
|
||||
mode "resize" {
|
||||
bindcode $left resize shrink width 80px
|
||||
|
|
@ -150,23 +154,6 @@ 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
|
||||
exec "systemctl --user import-environment; systemctl --user start sway-session.target"
|
||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||
|
|
|
|||
12
sway/yuki
12
sway/yuki
|
|
@ -1,8 +1,6 @@
|
|||
# Output configuration
|
||||
output * bg "~/.config/sway/bg.png" fill
|
||||
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
|
||||
output DP-1 resolution 3840x2160 scale 1.5 position 0,0 color_profile icc "~/.config/sway/yuki.icc"
|
||||
|
||||
# Input configuration
|
||||
input type:pointer {
|
||||
|
|
@ -11,10 +9,12 @@ input type:pointer {
|
|||
}
|
||||
|
||||
# Monitor setup
|
||||
set $mode_monitor Monitor (s) single, (d) dual
|
||||
set $mode_monitor Monitor (l) single left, (r) single right, (h) dual horizontal, ((v) dual vertical
|
||||
mode "$mode_monitor" {
|
||||
bindsym s output HDMI-A-1 disable, mode "default"
|
||||
bindsym d output HDMI-A-1 enable, mode "default"
|
||||
bindsym l output HDMI-A-1 enable, output DP-1 disable, mode "default"
|
||||
bindsym r output DP-1 enable position 0 0 transform normal, output HDMI-A-1 disable, 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 mod3+Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue