Changes
This commit is contained in:
+6
-3
@@ -1,10 +1,9 @@
|
|||||||
cask "ghostty"
|
cask "ghostty"
|
||||||
cask "logi-options+"
|
|
||||||
cask "font-jetbrains-mono-nerd-font"
|
cask "font-jetbrains-mono-nerd-font"
|
||||||
cask "modrinth"
|
|
||||||
cask "google-chrome"
|
cask "google-chrome"
|
||||||
cask "linearmouse"
|
cask "tailscale-app"
|
||||||
|
|
||||||
|
brew "mole"
|
||||||
brew "ripgrep"
|
brew "ripgrep"
|
||||||
brew "neovim"
|
brew "neovim"
|
||||||
brew "tree-sitter" # dep to neovim
|
brew "tree-sitter" # dep to neovim
|
||||||
@@ -13,6 +12,7 @@ brew "eza"
|
|||||||
brew "starship"
|
brew "starship"
|
||||||
brew "tmux"
|
brew "tmux"
|
||||||
brew "bat"
|
brew "bat"
|
||||||
|
brew "python"
|
||||||
brew "cmake"
|
brew "cmake"
|
||||||
brew "fd"
|
brew "fd"
|
||||||
brew "fzf"
|
brew "fzf"
|
||||||
@@ -20,6 +20,9 @@ brew "git"
|
|||||||
brew "zoxide"
|
brew "zoxide"
|
||||||
brew "stow"
|
brew "stow"
|
||||||
brew "jpeg-turbo"
|
brew "jpeg-turbo"
|
||||||
|
brew "pkgconfig"
|
||||||
brew "npm"
|
brew "npm"
|
||||||
|
brew "go"
|
||||||
brew "wget"
|
brew "wget"
|
||||||
brew "jq"
|
brew "jq"
|
||||||
|
brew "ruby"
|
||||||
|
|||||||
@@ -1,21 +1,18 @@
|
|||||||
font-size = 14
|
theme = "/Users/andrew/.config/ghostty/themes/kanso-zen"
|
||||||
# theme = Kanagawa Wave
|
|
||||||
theme = Kanagawa Dragon
|
|
||||||
macos-titlebar-style = tabs
|
|
||||||
font-family = "JetBrainsMono Nerd Font Medium"
|
font-family = "JetBrainsMono Nerd Font Medium"
|
||||||
font-thicken = true
|
font-thicken = true
|
||||||
font-thicken-strength = 10
|
font-size = 14
|
||||||
|
|
||||||
background = 000000
|
macos-titlebar-style = transparent
|
||||||
# .92 on most wallpapers
|
macos-titlebar-proxy-icon = hidden
|
||||||
background-opacity = 0.65
|
title = " "
|
||||||
background-blur = true
|
background-opacity = 0.92
|
||||||
|
background-blur = 64
|
||||||
confirm-close-surface = false
|
confirm-close-surface = false
|
||||||
window-padding-x = 6
|
window-padding-x = 15
|
||||||
window-padding-y = 6
|
window-padding-y = 15
|
||||||
mouse-hide-while-typing = true
|
mouse-hide-while-typing = true
|
||||||
adjust-cell-height = 5%
|
adjust-cell-height = 5%
|
||||||
adjust-cell-width = -5%
|
adjust-cell-width = -5%
|
||||||
alpha-blending = linear-corrected
|
alpha-blending = linear-corrected
|
||||||
bold-is-bright = true
|
|
||||||
mouse-hide-while-typing = true
|
mouse-hide-while-typing = true
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
palette = 0=#090E13
|
||||||
|
palette = 1=#c4746e
|
||||||
|
palette = 2=#8a9a7b
|
||||||
|
palette = 3=#c4b28a
|
||||||
|
palette = 4=#8ba4b0
|
||||||
|
palette = 5=#a292a3
|
||||||
|
palette = 6=#8ea4a2
|
||||||
|
palette = 7=#a4a7a4
|
||||||
|
palette = 8=#5C6066
|
||||||
|
palette = 9=#e46876
|
||||||
|
palette = 10=#87a987
|
||||||
|
palette = 11=#e6c384
|
||||||
|
palette = 12=#7fb4ca
|
||||||
|
palette = 13=#938aa9
|
||||||
|
palette = 14=#7aa89f
|
||||||
|
palette = 15=#c5c9c7
|
||||||
|
|
||||||
|
background = #090E13
|
||||||
|
foreground = #c5c9c7
|
||||||
|
cursor-color = #c5c9c7
|
||||||
|
selection-background = #22262D
|
||||||
|
selection-foreground = #c5c9c7
|
||||||
Vendored
BIN
Binary file not shown.
+17
-17
@@ -8,21 +8,21 @@ require('DarthMooMancer.lsp')
|
|||||||
require('DarthMooMancer.tools')
|
require('DarthMooMancer.tools')
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('FileType', {
|
vim.api.nvim_create_autocmd('FileType', {
|
||||||
pattern = {
|
pattern = {
|
||||||
'c',
|
'c',
|
||||||
'cpp',
|
'cpp',
|
||||||
'rust',
|
'rust',
|
||||||
'lua',
|
'lua',
|
||||||
'typescript',
|
'typescript',
|
||||||
'javascript',
|
'javascript',
|
||||||
'css',
|
'css',
|
||||||
'html',
|
'html',
|
||||||
'python',
|
'python',
|
||||||
'go',
|
'go',
|
||||||
'yaml',
|
'yaml',
|
||||||
},
|
},
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.treesitter.start()
|
vim.treesitter.start()
|
||||||
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,25 +1,30 @@
|
|||||||
-- require('bamboo').load()
|
require('kanso').setup({
|
||||||
-- vim.cmd.colorscheme('bamboo')
|
foreground = {
|
||||||
-- vim.cmd.colorscheme('melange')
|
dark = "saturated", -- Use default colors in dark mode
|
||||||
-- vim.cmd.colorscheme('rose-pine')
|
},
|
||||||
-- vim.cmd.colorscheme('bamboo-multiplex')
|
overrides = function(colors)
|
||||||
require('kanagawa').setup({
|
local theme = colors.theme
|
||||||
overrides = function(colors)
|
return {
|
||||||
local theme = colors.theme
|
NormalFloat = { bg = "none" },
|
||||||
return {
|
FloatBorder = { bg = "none" },
|
||||||
Pmenu = { fg = theme.ui.shade0, bg = theme.ui.bg_p1 }, -- add `blend = vim.o.pumblend` to enable transparency
|
FloatTitle = { bg = "none" },
|
||||||
PmenuSel = { fg = 'NONE', bg = theme.ui.bg_p2 },
|
TelescopeBorder = { fg = theme.ui.special, bg = "none" },
|
||||||
PmenuSbar = { bg = theme.ui.bg_m1 },
|
TelescopePromptBorder = { fg = theme.ui.special, bg = "none" },
|
||||||
PmenuThumb = { bg = theme.ui.bg_p2 },
|
TelescopeResultsBorder = { fg = theme.ui.special, bg = "none" },
|
||||||
}
|
TelescopePreviewBorder = { fg = theme.ui.special, bg = "none" },
|
||||||
end,
|
NotifyBackground = { bg = "none" },
|
||||||
|
NotifyBorder = { fg = theme.ui.special, bg = "none" },
|
||||||
|
NotifyBody = { fg = theme.ui.fg, bg = "none" },
|
||||||
|
NotifyTitle = { fg = theme.ui.special, bg = "none" },
|
||||||
|
}
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
--
|
||||||
vim.cmd.colorscheme('kanagawa-dragon')
|
vim.cmd.colorscheme('kanso-zen')
|
||||||
-- vim.cmd.colorscheme('rose-pine')
|
|
||||||
|
|
||||||
vim.api.nvim_set_hl(0, 'Normal', { bg = 'none' })
|
vim.api.nvim_set_hl(0, 'Normal', { bg = 'none' })
|
||||||
vim.api.nvim_set_hl(0, 'NormalFloat', { link = 'Normal' })
|
-- vim.api.nvim_set_hl(0, 'NormalFloat', { link = 'Normal' })
|
||||||
|
-- vim.api.nvim_set_hl(0, "FloatBorder", { bg = "none" })
|
||||||
vim.api.nvim_set_hl(0, 'StatusLine', { link = 'Normal' })
|
vim.api.nvim_set_hl(0, 'StatusLine', { link = 'Normal' })
|
||||||
vim.api.nvim_set_hl(0, 'StatusLineTerm', { link = 'Normal' })
|
vim.api.nvim_set_hl(0, 'StatusLineTerm', { link = 'Normal' })
|
||||||
vim.api.nvim_set_hl(0, 'StatusLineNC', { link = 'Normal' })
|
vim.api.nvim_set_hl(0, 'StatusLineNC', { link = 'Normal' })
|
||||||
@@ -29,7 +34,7 @@ vim.api.nvim_set_hl(0, 'LineNrBelow', { link = 'NonText', bold = true })
|
|||||||
vim.api.nvim_set_hl(0, 'LineNr', { link = 'Normal' })
|
vim.api.nvim_set_hl(0, 'LineNr', { link = 'Normal' })
|
||||||
vim.api.nvim_set_hl(0, 'FoldColumn', { link = 'Normal' })
|
vim.api.nvim_set_hl(0, 'FoldColumn', { link = 'Normal' })
|
||||||
vim.api.nvim_set_hl(
|
vim.api.nvim_set_hl(
|
||||||
0,
|
0,
|
||||||
'CursorLineNr',
|
'CursorLineNr',
|
||||||
{ bg = 'none', link = 'MatchParen', bold = true }
|
{ bg = 'none', link = 'MatchParen', bold = true }
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
vim.keymap.set('v', 'J', ":m '>+1<CR>gv=gv")
|
vim.keymap.set('v', 'J', ":m '>+1<CR>gv=gv")
|
||||||
vim.keymap.set('v', 'K', ":m '<-2<CR>gv=gv")
|
vim.keymap.set('v', 'K', ":m '<-2<CR>gv=gv")
|
||||||
-- vim.keymap.set("n", "<leader>ff", vim.lsp.buf.format)
|
|
||||||
vim.keymap.set('n', '<leader>ff', function()
|
vim.keymap.set('n', '<leader>ff', function()
|
||||||
require('conform').format({ async = true, lsp_format = 'never' })
|
require('conform').format({ async = true, lsp_format = 'never' })
|
||||||
end)
|
end)
|
||||||
vim.keymap.set('n', '<leader>vs', ':vsplit<CR>')
|
vim.keymap.set('n', '<leader>vs', ':vsplit<CR>')
|
||||||
vim.keymap.set('n', '<leader>ss', ':split<CR>')
|
vim.keymap.set('n', '<leader>ss', ':split<CR>')
|
||||||
@@ -14,42 +13,35 @@ vim.keymap.set('n', 'N', 'Nzzzv')
|
|||||||
vim.keymap.set('x', '<leader>p', [["_dP]])
|
vim.keymap.set('x', '<leader>p', [["_dP]])
|
||||||
local builtin = require('telescope.builtin')
|
local builtin = require('telescope.builtin')
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'<leader><leader>',
|
'<leader><leader>',
|
||||||
builtin.find_files,
|
builtin.find_files,
|
||||||
{ desc = 'Telescope find files' }
|
{ desc = 'Telescope find files' }
|
||||||
)
|
)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'<leader>fh',
|
'<leader>fh',
|
||||||
builtin.help_tags,
|
builtin.help_tags,
|
||||||
{ desc = 'Telescope help tags' }
|
{ desc = 'Telescope help tags' }
|
||||||
)
|
)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'<leader>fg',
|
'<leader>fg',
|
||||||
builtin.live_grep,
|
builtin.live_grep,
|
||||||
{ desc = 'Telescope live grep' }
|
{ desc = 'Telescope live grep' }
|
||||||
)
|
)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'<leader>fm',
|
'<leader>fm',
|
||||||
builtin.man_pages,
|
builtin.man_pages,
|
||||||
{ desc = 'Telescope man_pages' }
|
{ desc = 'Telescope man_pages' }
|
||||||
)
|
)
|
||||||
-- vim.keymap.set(
|
|
||||||
-- 'n',
|
|
||||||
-- '<leader>xx',
|
|
||||||
-- builtin.diagnostics,
|
|
||||||
-- { desc = 'Telescope diagnostics' }
|
|
||||||
-- )
|
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'<leader>xn',
|
'<leader>xn',
|
||||||
':Telescope notify<CR>',
|
':Telescope notify<CR>',
|
||||||
{ desc = 'Telescope notify' }
|
{ desc = 'Telescope notify' }
|
||||||
)
|
)
|
||||||
-- vim.keymap.set('n', '<leader>xx', ':FzfLua diagnostics_workspace<CR>')
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>fs', vim.lsp.buf.document_symbol)
|
vim.keymap.set('n', '<leader>fs', vim.lsp.buf.document_symbol)
|
||||||
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition)
|
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition)
|
||||||
@@ -63,12 +55,13 @@ vim.keymap.set('n', '[q', ':cprev<CR>zz', { desc = 'Previous Quickfix Item' })
|
|||||||
vim.keymap.set('n', ']q', ':cnext<CR>zz', { desc = 'Next Quickfix Item' })
|
vim.keymap.set('n', ']q', ':cnext<CR>zz', { desc = 'Next Quickfix Item' })
|
||||||
vim.keymap.set('n', '<leader>qo', ':copen<CR>', { desc = 'Open Quickfix' })
|
vim.keymap.set('n', '<leader>qo', ':copen<CR>', { desc = 'Open Quickfix' })
|
||||||
vim.keymap.set('n', '<leader>qc', ':cclose<CR>', { desc = 'Close Quickfix' })
|
vim.keymap.set('n', '<leader>qc', ':cclose<CR>', { desc = 'Close Quickfix' })
|
||||||
|
vim.keymap.set('n', '<leader>lp', ':LivePreview pick<cr>')
|
||||||
vim.keymap.set('n', '<C-h>', ':NvimTmuxNavigateLeft<CR>', { silent = true })
|
vim.keymap.set('n', '<C-h>', ':NvimTmuxNavigateLeft<CR>', { silent = true })
|
||||||
vim.keymap.set('n', '<C-j>', ':NvimTmuxNavigateDown<CR>', { silent = true })
|
vim.keymap.set('n', '<C-j>', ':NvimTmuxNavigateDown<CR>', { silent = true })
|
||||||
vim.keymap.set('n', '<C-k>', ':NvimTmuxNavigateUp<CR>', { silent = true })
|
vim.keymap.set('n', '<C-k>', ':NvimTmuxNavigateUp<CR>', { silent = true })
|
||||||
vim.keymap.set('n', '<C-l>', ':NvimTmuxNavigateRight<CR>', { silent = true })
|
vim.keymap.set('n', '<C-l>', ':NvimTmuxNavigateRight<CR>', { silent = true })
|
||||||
-- vim.keymap.set('n', '<leader>fr', ':FlutterRun<CR>')
|
|
||||||
-- vim.keymap.set('n', '<leader>fq', ':FlutterQuit<CR>')
|
|
||||||
-- vim.keymap.set('n', '<leader>fR', ':FlutterReload<CR>')
|
|
||||||
-- vim.keymap.set('n', '<leader>frr', ':FlutterRestart<CR>')
|
|
||||||
vim.keymap.set('n', '<leader>xx', ':Trouble diagnostics toggle<cr>')
|
vim.keymap.set('n', '<leader>xx', ':Trouble diagnostics toggle<cr>')
|
||||||
|
local dropbar_api = require("dropbar.api")
|
||||||
|
vim.keymap.set("n", "<Leader>;", dropbar_api.pick, { desc = "Pick symbols in winbar" })
|
||||||
|
vim.keymap.set("n", "[;", dropbar_api.goto_context_start, { desc = "Go to start of current context" })
|
||||||
|
vim.keymap.set("n", "];", dropbar_api.select_next_context, { desc = "Select next context" })
|
||||||
|
|||||||
@@ -1,82 +1,90 @@
|
|||||||
require('mason').setup()
|
require('mason').setup()
|
||||||
require('mason-lspconfig').setup({
|
require('mason-lspconfig').setup({
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
'vtsls',
|
'vtsls',
|
||||||
'lua_ls',
|
'lua_ls',
|
||||||
'pylsp',
|
'pylsp',
|
||||||
'gopls',
|
'gopls',
|
||||||
'html',
|
'html',
|
||||||
'tailwindcss',
|
'cssls',
|
||||||
'bashls',
|
'bashls',
|
||||||
},
|
},
|
||||||
automatic_enable = false,
|
automatic_enable = false,
|
||||||
})
|
})
|
||||||
|
|
||||||
require('nvim-treesitter').install({
|
require('nvim-treesitter').install({
|
||||||
'rust',
|
'rust',
|
||||||
'c',
|
'c',
|
||||||
'cpp',
|
'cpp',
|
||||||
'lua',
|
'lua',
|
||||||
'javascript',
|
'javascript',
|
||||||
'go',
|
'go',
|
||||||
'typescript',
|
'typescript',
|
||||||
'css',
|
'css',
|
||||||
'html',
|
'html',
|
||||||
'python',
|
'python',
|
||||||
'yaml',
|
'yaml',
|
||||||
})
|
})
|
||||||
|
|
||||||
require('conform').setup({
|
require('conform').setup({
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
rust = { 'rustfmt', lsp_format = 'fallback' },
|
rust = { 'rustfmt', lsp_format = 'fallback' },
|
||||||
lua = { 'stylua', lsp_format = 'fallback' },
|
lua = { 'stylua', lsp_format = 'fallback' },
|
||||||
javascript = { 'prettier', stop_after_first = true },
|
javascript = { 'prettier', stop_after_first = true },
|
||||||
typescript = { 'prettier', stop_after_first = true },
|
typescript = { 'prettier', stop_after_first = true },
|
||||||
json = { 'prettier' },
|
json = { 'prettier' },
|
||||||
html = { 'prettier' },
|
html = { 'prettier' },
|
||||||
go = { 'goimports' },
|
go = { 'goimports' },
|
||||||
c = { 'clang-format' },
|
c = { 'clang-format' },
|
||||||
cpp = { 'clang-format' },
|
cpp = { 'clang-format' },
|
||||||
dart = { 'dart_format', lsp_format = 'fallback' },
|
css = { 'csskit' },
|
||||||
['_'] = { 'trim_whitespace' },
|
dart = { 'dart_format', lsp_format = 'fallback' },
|
||||||
},
|
python = { 'autopep8' },
|
||||||
format_on_save = {
|
['_'] = { 'trim_whitespace' },
|
||||||
timeout_ms = 2000,
|
},
|
||||||
lsp_format = 'fallback',
|
format_on_save = {
|
||||||
},
|
timeout_ms = 2000,
|
||||||
|
lsp_format = 'fallback',
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
local capabilities = require('blink.cmp').get_lsp_capabilities()
|
local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||||
vim.lsp.config('lua_ls', {
|
vim.lsp.config('lua_ls', {
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {
|
Lua = {
|
||||||
diagnostics = { globals = { 'vim' } },
|
diagnostics = { globals = { 'vim' } },
|
||||||
workspace = {
|
workspace = {
|
||||||
library = vim.api.nvim_get_runtime_file('', true),
|
library = vim.api.nvim_get_runtime_file('', true),
|
||||||
checkThirdParty = false,
|
checkThirdParty = false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
vim.lsp.config('vtsls', {
|
vim.lsp.config('vtsls', {
|
||||||
settings = {
|
settings = {
|
||||||
typescript = {
|
typescript = {
|
||||||
updateImportsOnFileMove = { enabled = 'always' },
|
updateImportsOnFileMove = { enabled = 'always' },
|
||||||
inlayHints = {
|
inlayHints = {
|
||||||
parameterNames = { enabled = 'all' },
|
parameterNames = { enabled = 'all' },
|
||||||
variableTypes = { enabled = true },
|
variableTypes = { enabled = true },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config('html', {
|
||||||
|
capabilities = capabilities,
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.lsp.enable({
|
vim.lsp.enable({
|
||||||
'lua_ls',
|
'lua_ls',
|
||||||
'clangd',
|
'clangd',
|
||||||
'rust-analyzer',
|
'rust-analyzer',
|
||||||
'vtsls',
|
'vtsls',
|
||||||
'tailwindcss-language-server',
|
'tailwindcss-language-server',
|
||||||
'vscode-html-language-server',
|
'cssls',
|
||||||
'gopls',
|
'html',
|
||||||
|
'gopls',
|
||||||
|
'pylsp'
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,29 +2,32 @@ vim.opt.termguicolors = true
|
|||||||
vim.g.mapleader = ' '
|
vim.g.mapleader = ' '
|
||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
vim.opt.relativenumber = true
|
vim.opt.relativenumber = true
|
||||||
vim.opt.tabstop = 8 -- Number of spaces a <Tab> counts for
|
vim.opt.tabstop = 8 -- Number of spaces a <Tab> counts for
|
||||||
vim.opt.shiftwidth = 8 -- Number of spaces for autoindent (>>, <<, etc.)
|
vim.opt.shiftwidth = 8 -- Number of spaces for autoindent (>>, <<, etc.)
|
||||||
vim.opt.softtabstop = 8 -- Number of spaces for <Tab> in insert mode (backspace deletes 4 spaces)
|
vim.opt.softtabstop = 8 -- Number of spaces for <Tab> in insert mode (backspace deletes 4 spaces)
|
||||||
vim.opt.expandtab = true -- Use spaces instead of tabs
|
vim.opt.expandtab = true -- Use spaces instead of tabs
|
||||||
vim.api.nvim_create_autocmd('FileType', {
|
vim.api.nvim_create_autocmd('FileType', {
|
||||||
callback = function(ev)
|
callback = function(ev)
|
||||||
local map = {
|
local map = {
|
||||||
-- c = { ts = 8, sw = 8, sts = 8, et = false },
|
-- c = { ts = 8, sw = 8, sts = 8, et = false },
|
||||||
-- cpp = { ts = 8, sw = 8, sts = 8, et = false },
|
-- cpp = { ts = 8, sw = 8, sts = 8, et = false },
|
||||||
-- go = { ts = 8, sw = 8, sts = 8, et = false },
|
-- go = { ts = 8, sw = 8, sts = 8, et = false },
|
||||||
rust = { ts = 4, sw = 4, sts = 4 },
|
rust = { ts = 4, sw = 4, sts = 4 },
|
||||||
lua = { ts = 4, sw = 4, sts = 4 },
|
lua = { ts = 4, sw = 4, sts = 4 },
|
||||||
python = { ts = 4, sw = 4, sts = 4 },
|
python = { ts = 4, sw = 4, sts = 4 },
|
||||||
dart = { ts = 2, sw = 2, sts = 2 },
|
dart = { ts = 2, sw = 2, sts = 2 },
|
||||||
}
|
html = { ts = 2, sw = 2, sts = 2 },
|
||||||
local ft = map[ev.match]
|
javascript = { ts = 2, sw = 2, sts = 2 },
|
||||||
if ft then
|
typescript = { ts = 2, sw = 2, sts = 2 },
|
||||||
vim.bo[ev.buf].tabstop = ft.ts
|
}
|
||||||
vim.bo[ev.buf].shiftwidth = ft.sw
|
local ft = map[ev.match]
|
||||||
vim.bo[ev.buf].softtabstop = ft.sts
|
if ft then
|
||||||
vim.bo[ev.buf].expandtab = ft.et ~= nil and ft.et or true
|
vim.bo[ev.buf].tabstop = ft.ts
|
||||||
end
|
vim.bo[ev.buf].shiftwidth = ft.sw
|
||||||
end,
|
vim.bo[ev.buf].softtabstop = ft.sts
|
||||||
|
vim.bo[ev.buf].expandtab = ft.et ~= nil and ft.et or true
|
||||||
|
end
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
vim.opt.autoindent = true -- Copy indent from current line when starting a new line
|
vim.opt.autoindent = true -- Copy indent from current line when starting a new line
|
||||||
vim.opt.wrap = false
|
vim.opt.wrap = false
|
||||||
@@ -39,25 +42,27 @@ vim.g.netrw_browse_split = 0
|
|||||||
vim.g.netrw_banner = 0
|
vim.g.netrw_banner = 0
|
||||||
vim.g.netrw_liststyle = 3
|
vim.g.netrw_liststyle = 3
|
||||||
vim.g.netrw_winsize = 25
|
vim.g.netrw_winsize = 25
|
||||||
vim.opt.wrapscan = true -- begin search from top of the file when nothng is found
|
vim.opt.wrapscan = true -- begin search from top of the file when nothng is found
|
||||||
vim.opt.cursorline = true -- enable cursorline
|
vim.opt.cursorline = true -- enable cursorline
|
||||||
vim.opt.cursorlineopt = { 'screenline', 'number' } -- cursorline look
|
vim.opt.cursorlineopt = { 'screenline', 'number' } -- cursorline look
|
||||||
vim.opt.foldmethod = 'indent'
|
vim.opt.foldmethod = 'indent'
|
||||||
vim.opt.foldcolumn = '1'
|
vim.opt.foldcolumn = '1'
|
||||||
vim.opt.foldenable = false
|
vim.opt.foldenable = false
|
||||||
vim.opt.shortmess = 'aF' -- abbreviates messages and prevents file name being echoed when opened
|
vim.opt.shortmess = 'aF' -- abbreviates messages and prevents file name being echoed when opened
|
||||||
vim.opt.ignorecase = true -- ignore cases when searching
|
vim.opt.ignorecase = true -- ignore cases when searching
|
||||||
vim.opt.smartcase = true -- However if we use a capital in search string we then consider case-sensitivity, ignorecase is disabled
|
vim.opt.smartcase = true -- However if we use a capital in search string we then consider case-sensitivity, ignorecase is disabled
|
||||||
vim.opt.smartindent = false -- smarter indentation
|
vim.opt.smartindent = false -- smarter indentation
|
||||||
vim.opt.smarttab = true -- make tab behaviour smarter
|
vim.opt.smarttab = true -- make tab behaviour smarter
|
||||||
vim.opt.laststatus = 3
|
vim.opt.laststatus = 3
|
||||||
vim.opt.showmode = false
|
vim.opt.showmode = false
|
||||||
vim.opt.cmdheight = 0
|
vim.opt.cmdheight = 0
|
||||||
vim.opt.smoothscroll = true
|
vim.opt.smoothscroll = true
|
||||||
|
vim.opt.spell = true
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
virtual_text = true, -- This is the magic line
|
virtual_text = true, -- This is the magic line
|
||||||
signs = true, -- Shows icons in the gutter
|
signs = true, -- Shows icons in the gutter
|
||||||
underline = true,
|
underline = true,
|
||||||
update_in_insert = false, -- Don't clutter the screen while typing
|
update_in_insert = false, -- Don't clutter the screen while typing
|
||||||
severity_sort = true,
|
severity_sort = true,
|
||||||
})
|
})
|
||||||
|
vim.o.winborder = "rounded"
|
||||||
|
|||||||
@@ -1,60 +1,41 @@
|
|||||||
vim.pack.add({
|
vim.pack.add({
|
||||||
-- Themes
|
-- Themes
|
||||||
{
|
{ src = 'https://github.com/webhooked/kanso.nvim' },
|
||||||
src = 'https://github.com/rose-pine/neovim',
|
|
||||||
name = 'rose-pine',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src = 'https://github.com/ribru17/bamboo.nvim',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src = 'https://github.com/savq/melange-nvim',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src = 'https://github.com/mountain-theme/Mountain',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src = 'https://github.com/sainnhe/everforest',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src = 'https://github.com/rebelot/kanagawa.nvim',
|
|
||||||
},
|
|
||||||
|
|
||||||
-- The rest
|
-- The rest
|
||||||
{ src = 'https://github.com/mbbill/undotree' },
|
{ src = 'https://github.com/mbbill/undotree' },
|
||||||
{
|
{
|
||||||
src = 'https://github.com/nvim-mini/mini.pairs',
|
src = 'https://github.com/nvim-mini/mini.pairs',
|
||||||
version = vim.version.range('*'),
|
version = vim.version.range('*'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src = 'https://github.com/nvim-mini/mini.hipatterns',
|
src = 'https://github.com/nvim-mini/mini.hipatterns',
|
||||||
version = vim.version.range('*'),
|
version = vim.version.range('*'),
|
||||||
},
|
},
|
||||||
{ src = 'https://github.com/nvim-tree/nvim-web-devicons' },
|
{ src = 'https://github.com/nvim-tree/nvim-web-devicons' },
|
||||||
{ src = 'https://github.com/nvim-telescope/telescope.nvim' },
|
{ src = 'https://github.com/nvim-telescope/telescope.nvim' },
|
||||||
{
|
{
|
||||||
src = 'https://github.com/saghen/blink.cmp',
|
src = 'https://github.com/saghen/blink.cmp',
|
||||||
version = vim.version.range('*'),
|
version = vim.version.range('*'),
|
||||||
},
|
},
|
||||||
{ src = 'git@moo:dmm/polydev.git' },
|
{ src = 'https://git.moomancer.xyz/DarthMooMancer/polydev.git' },
|
||||||
{
|
{
|
||||||
src = 'https://github.com/nvim-treesitter/nvim-treesitter',
|
src = 'https://github.com/nvim-treesitter/nvim-treesitter',
|
||||||
build = ':TSUpdate',
|
build = ':TSUpdate',
|
||||||
},
|
},
|
||||||
{ src = 'https://github.com/alexghergh/nvim-tmux-navigation' },
|
{ src = 'https://github.com/alexghergh/nvim-tmux-navigation' },
|
||||||
{ src = 'https://github.com/mason-org/mason.nvim' },
|
{ src = 'https://github.com/mason-org/mason.nvim' },
|
||||||
{ src = 'https://github.com/mason-org/mason-lspconfig.nvim' },
|
{ src = 'https://github.com/mason-org/mason-lspconfig.nvim' },
|
||||||
{ src = 'https://github.com/neovim/nvim-lspconfig' },
|
{ src = 'https://github.com/neovim/nvim-lspconfig' },
|
||||||
{ src = 'https://github.com/stevearc/conform.nvim' },
|
{ src = 'https://github.com/stevearc/conform.nvim' },
|
||||||
{ src = 'https://github.com/b0o/incline.nvim' },
|
{ src = 'https://github.com/b0o/incline.nvim' },
|
||||||
{ src = 'https://github.com/windwp/nvim-ts-autotag' },
|
{ src = 'https://github.com/windwp/nvim-ts-autotag' },
|
||||||
{ src = 'https://github.com/MunifTanjim/nui.nvim' },
|
{ src = 'https://github.com/MunifTanjim/nui.nvim' },
|
||||||
-- { src = 'https://github.com/nvim-lualine/lualine.nvim' },
|
{ src = 'https://github.com/nvim-lua/plenary.nvim' },
|
||||||
{ src = 'https://github.com/nvim-lua/plenary.nvim' },
|
{ src = 'https://github.com/folke/noice.nvim' },
|
||||||
{ src = 'https://github.com/folke/noice.nvim' },
|
-- { src = 'https://github.com/stevearc/dressing.nvim' },
|
||||||
-- { src = 'https://github.com/akinsho/flutter-tools.nvim' },
|
{ src = 'https://github.com/rcarriga/nvim-notify' },
|
||||||
-- { src = 'https://github.com/mfussenegger/nvim-dap' },
|
{ src = 'https://github.com/folke/trouble.nvim' },
|
||||||
{ src = 'https://github.com/stevearc/dressing.nvim' },
|
{ src = 'https://github.com/brianhuster/live-preview.nvim' },
|
||||||
{ src = 'https://github.com/rcarriga/nvim-notify' },
|
{ src = 'https://github.com/Bekaboo/dropbar.nvim' },
|
||||||
{ src = 'https://github.com/folke/trouble.nvim' },
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,53 +1,84 @@
|
|||||||
local hipatterns = require('mini.hipatterns')
|
local hipatterns = require('mini.hipatterns')
|
||||||
hipatterns.setup({
|
hipatterns.setup({
|
||||||
highlighters = {
|
highlighters = {
|
||||||
-- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE'
|
-- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE'
|
||||||
fixme = {
|
fixme = {
|
||||||
pattern = '%f[%w]()FIXME()%f[%W]',
|
pattern = '%f[%w]()FIXME()%f[%W]',
|
||||||
group = 'MiniHipatternsFixme',
|
group = 'MiniHipatternsFixme',
|
||||||
},
|
},
|
||||||
hack = {
|
hack = {
|
||||||
pattern = '%f[%w]()HACK()%f[%W]',
|
pattern = '%f[%w]()HACK()%f[%W]',
|
||||||
group = 'MiniHipatternsHack',
|
group = 'MiniHipatternsHack',
|
||||||
},
|
},
|
||||||
todo = {
|
todo = {
|
||||||
pattern = '%f[%w]()TODO()%f[%W]',
|
pattern = '%f[%w]()TODO()%f[%W]',
|
||||||
group = 'MiniHipatternsTodo',
|
group = 'MiniHipatternsTodo',
|
||||||
},
|
},
|
||||||
note = {
|
note = {
|
||||||
pattern = '%f[%w]()NOTE()%f[%W]',
|
pattern = '%f[%w]()NOTE()%f[%W]',
|
||||||
group = 'MiniHipatternsNote',
|
group = 'MiniHipatternsNote',
|
||||||
},
|
},
|
||||||
|
|
||||||
hex_color = hipatterns.gen_highlighter.hex_color(),
|
hex_color = hipatterns.gen_highlighter.hex_color(),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
require('mini.pairs').setup()
|
require('mini.pairs').setup()
|
||||||
require('nvim-tmux-navigation').setup({
|
require('nvim-tmux-navigation').setup({
|
||||||
disable_when_zoomed = true, -- defaults to false
|
disable_when_zoomed = true, -- defaults to false
|
||||||
})
|
})
|
||||||
|
|
||||||
require('blink.cmp').setup({
|
require('blink.cmp').setup({
|
||||||
completion = {
|
completion = {
|
||||||
menu = {
|
documentation = {
|
||||||
draw = {
|
auto_show = true,
|
||||||
columns = {
|
auto_show_delay_ms = 100,
|
||||||
{ 'label', gap = 1 },
|
window = {
|
||||||
{ 'kind_icon', gap = 1, 'kind' },
|
winhighlight = 'Normal:NormalFloat,FloatBorder:TelescopeBorder,CursorLine:Visual,Search:None',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
menu = {
|
||||||
},
|
draw = {
|
||||||
|
columns = {
|
||||||
|
{ "label", "label_description", gap = 1 },
|
||||||
|
{ "kind_icon", "kind", gap = 1 },
|
||||||
|
{ "source_name", gap = 1 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
scrollbar = false,
|
||||||
|
winhighlight =
|
||||||
|
'Pmenu:NormalFloat,FloatBorder:TelescopeBorder,PmenuSel:TelescopeSelection,CursorLine:TelescopeSelection,Search:None',
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
require('Polydev').setup()
|
require('Polydev').setup()
|
||||||
require('nvim-ts-autotag').setup({
|
require('nvim-ts-autotag').setup({
|
||||||
opts = {
|
opts = {
|
||||||
enable_close = true, -- Auto close tags
|
enable_close = true, -- Auto close tags
|
||||||
enable_rename = true, -- Auto rename pairs of tags
|
enable_rename = true, -- Auto rename pairs of tags
|
||||||
enable_close_on_slash = false, -- Auto close on trailing </
|
enable_close_on_slash = false, -- Auto close on trailing </
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
require('trouble').setup({})
|
require('trouble').setup({})
|
||||||
|
-- require('dropbar').setup({})
|
||||||
|
require("telescope").setup({
|
||||||
|
defaults = {
|
||||||
|
prompt_prefix = " ", -- Changes the search icon/prompt prefix
|
||||||
|
selection_caret = " ", -- Changes the arrow/caret next to the selected item
|
||||||
|
layout_strategy = "horizontal",
|
||||||
|
layout_config = {
|
||||||
|
horizontal = {
|
||||||
|
prompt_position = 'top',
|
||||||
|
prompt_min_width = 40,
|
||||||
|
prompt_max_width = 80,
|
||||||
|
preview_width = 80,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sorting_strategy = "ascending",
|
||||||
|
preview = {
|
||||||
|
hide_on_startup = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|||||||
@@ -1,382 +1,366 @@
|
|||||||
--- Derive a highlight from an existing scheme group.
|
--- Derive a highlight from an existing scheme group.
|
||||||
local function derive_hl(name, opts)
|
local function derive_hl(name, opts)
|
||||||
local base = opts.base and vim.api.nvim_get_hl(0, { name = opts.base })
|
local base = opts.base and vim.api.nvim_get_hl(0, { name = opts.base })
|
||||||
or {}
|
or {}
|
||||||
local fg = opts.fg and vim.api.nvim_get_hl(0, { name = opts.fg }) or {}
|
local fg = opts.fg and vim.api.nvim_get_hl(0, { name = opts.fg }) or {}
|
||||||
local bg = opts.bg and vim.api.nvim_get_hl(0, { name = opts.bg }) or {}
|
local bg = opts.bg and vim.api.nvim_get_hl(0, { name = opts.bg }) or {}
|
||||||
vim.api.nvim_set_hl(0, name, {
|
vim.api.nvim_set_hl(0, name, {
|
||||||
fg = fg.fg or base.fg,
|
fg = fg.fg or base.fg,
|
||||||
bg = bg.bg or base.bg,
|
bg = bg.bg or base.bg,
|
||||||
bold = opts.bold,
|
bold = opts.bold,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
--- Derive a mode highlight where bg comes from a syntax group and fg contrasts.
|
--- Derive a mode highlight where bg comes from a syntax group and fg contrasts.
|
||||||
local function derive_mode_hl(name, color_group)
|
local function derive_mode_hl(name, color_group)
|
||||||
local color = vim.api.nvim_get_hl(0, { name = color_group })
|
local color = vim.api.nvim_get_hl(0, { name = color_group })
|
||||||
local status_bg = vim.api.nvim_get_hl(0, { name = 'StatusLine' })
|
local status_bg = vim.api.nvim_get_hl(0, { name = 'StatusLine' })
|
||||||
vim.api.nvim_set_hl(0, name, {
|
vim.api.nvim_set_hl(0, name, {
|
||||||
bg = color.fg,
|
bg = color.fg,
|
||||||
fg = status_bg.bg or '#191724',
|
fg = status_bg.bg or '#191724',
|
||||||
bold = true,
|
bold = true,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
--- (Re)build all statusline highlight groups from current scheme.
|
--- (Re)build all statusline highlight groups from current scheme.
|
||||||
local function setup_statusline_highlights()
|
local function setup_statusline_highlights()
|
||||||
derive_mode_hl('StatusModeNormal', 'Type')
|
derive_mode_hl('StatusModeNormal', 'Type')
|
||||||
derive_mode_hl('StatusModeInsert', 'String')
|
derive_mode_hl('StatusModeInsert', 'String')
|
||||||
derive_mode_hl('StatusModeVisual', 'Statement')
|
derive_mode_hl('StatusModeVisual', 'Statement')
|
||||||
derive_mode_hl('StatusModeCommand', 'PreProc')
|
derive_mode_hl('StatusModeCommand', 'PreProc')
|
||||||
derive_mode_hl('StatusModeReplace', 'WarningMsg')
|
derive_mode_hl('StatusModeReplace', 'WarningMsg')
|
||||||
derive_mode_hl('StatusModeTerminal', 'Special')
|
derive_mode_hl('StatusModeTerminal', 'Special')
|
||||||
derive_hl('StatusGit', { base = 'CursorLine', fg = 'LineNr' })
|
derive_hl('StatusGit', { base = 'CursorLine', fg = 'LineNr' })
|
||||||
derive_hl('StatusLsp', { base = 'StatusLine', fg = 'DiagnosticInfo' })
|
derive_hl('StatusLsp', { base = 'StatusLine', fg = 'DiagnosticInfo' })
|
||||||
derive_hl('StatusLspSpinner', { base = 'StatusLine', fg = 'Constant' })
|
derive_hl('StatusLspSpinner', { base = 'StatusLine', fg = 'Constant' })
|
||||||
derive_hl(
|
derive_hl(
|
||||||
'StatusDiagError',
|
'StatusDiagError',
|
||||||
{ base = 'StatusLine', fg = 'DiagnosticError' }
|
{ base = 'StatusLine', fg = 'DiagnosticError' }
|
||||||
)
|
)
|
||||||
derive_hl('StatusDiagWarn', { base = 'StatusLine', fg = 'DiagnosticWarn' })
|
derive_hl('StatusDiagWarn', { base = 'StatusLine', fg = 'DiagnosticWarn' })
|
||||||
derive_hl('StatusDiagHint', { base = 'StatusLine', fg = 'DiagnosticHint' })
|
derive_hl('StatusDiagHint', { base = 'StatusLine', fg = 'DiagnosticHint' })
|
||||||
derive_hl('StatusCursor', { base = 'CursorLine', fg = 'Normal' })
|
derive_hl('StatusCursor', { base = 'CursorLine', fg = 'Normal' })
|
||||||
-- derive_hl('StatusGitAdded', { base = 'StatusLine', fg = 'OkMsg' })
|
-- derive_hl('StatusGitAdded', { base = 'StatusLine', fg = 'OkMsg' })
|
||||||
derive_hl('StatusGitAdded', { base = 'StatusLine', fg = 'MoreMsg' })
|
derive_hl('StatusGitAdded', { base = 'StatusLine', fg = 'MoreMsg' })
|
||||||
derive_hl(
|
derive_hl(
|
||||||
'StatusGitRemoved',
|
'StatusGitRemoved',
|
||||||
{ base = 'StatusLine', fg = 'DiagnosticError' }
|
{ base = 'StatusLine', fg = 'DiagnosticError' }
|
||||||
)
|
)
|
||||||
derive_hl('StatusRecording', { base = 'StatusLine', fg = 'WarningMsg' })
|
derive_hl('StatusRecording', { base = 'StatusLine', fg = 'WarningMsg' })
|
||||||
end
|
end
|
||||||
vim.api.nvim_create_autocmd('ColorScheme', {
|
vim.api.nvim_create_autocmd('ColorScheme', {
|
||||||
callback = setup_statusline_highlights,
|
callback = setup_statusline_highlights,
|
||||||
})
|
})
|
||||||
setup_statusline_highlights()
|
setup_statusline_highlights()
|
||||||
|
|
||||||
--- Mode text mapping.
|
--- Mode text mapping.
|
||||||
local mode_map = {
|
local mode_map = {
|
||||||
['n'] = ' NORM ',
|
['n'] = ' NORM ',
|
||||||
['i'] = ' INS ',
|
['i'] = ' INS ',
|
||||||
['v'] = ' VIS ',
|
['v'] = ' VIS ',
|
||||||
['V'] = ' V-LINE ',
|
['V'] = ' V-LINE ',
|
||||||
[''] = ' V-BLK ',
|
[''] = ' V-BLK ',
|
||||||
['R'] = ' REPL ',
|
['R'] = ' REPL ',
|
||||||
['c'] = ' CMD ',
|
['c'] = ' CMD ',
|
||||||
['t'] = ' TERM ',
|
['t'] = ' TERM ',
|
||||||
}
|
}
|
||||||
local mode_hl_map = {
|
local mode_hl_map = {
|
||||||
['n'] = 'StatusModeNormal',
|
['n'] = 'StatusModeNormal',
|
||||||
['i'] = 'StatusModeInsert',
|
['i'] = 'StatusModeInsert',
|
||||||
['v'] = 'StatusModeVisual',
|
['v'] = 'StatusModeVisual',
|
||||||
['V'] = 'StatusModeVisual',
|
['V'] = 'StatusModeVisual',
|
||||||
[''] = 'StatusModeVisual',
|
[''] = 'StatusModeVisual',
|
||||||
['R'] = 'StatusModeReplace',
|
['R'] = 'StatusModeReplace',
|
||||||
['c'] = 'StatusModeCommand',
|
['c'] = 'StatusModeCommand',
|
||||||
['t'] = 'StatusModeTerminal',
|
['t'] = 'StatusModeTerminal',
|
||||||
}
|
}
|
||||||
|
|
||||||
--- Git branch (async, cached per buffer, refreshed every 5s)
|
--- Git branch (async, cached per buffer, refreshed every 5s)
|
||||||
local function update_git_branch()
|
local function update_git_branch()
|
||||||
if vim.bo.buftype ~= '' then
|
if vim.bo.buftype ~= '' then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
vim.system(
|
vim.system(
|
||||||
{ 'git', 'branch', '--show-current' },
|
{ 'git', 'branch', '--show-current' },
|
||||||
{ text = true },
|
{ text = true },
|
||||||
function(out)
|
function(out)
|
||||||
vim.b.git_branch = (out.code == 0 and out.stdout or ''):gsub(
|
vim.b.git_branch = (out.code == 0 and out.stdout or ''):gsub(
|
||||||
'%s+',
|
'%s+',
|
||||||
''
|
''
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
vim.uv.new_timer():start(5000, 5000, vim.schedule_wrap(update_git_branch))
|
vim.uv.new_timer():start(5000, 5000, vim.schedule_wrap(update_git_branch))
|
||||||
vim.api.nvim_create_autocmd({ 'BufEnter', 'FocusGained' }, {
|
vim.api.nvim_create_autocmd({ 'BufEnter', 'FocusGained' }, {
|
||||||
callback = function()
|
callback = function()
|
||||||
update_git_branch()
|
update_git_branch()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
--- LSP progress (Neovim 0.10+ built-in handler)
|
--- LSP progress (Neovim 0.10+ built-in handler)
|
||||||
local progress = {}
|
local progress = {}
|
||||||
local spinner_frames =
|
local spinner_frames =
|
||||||
{ '⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷' }
|
{ '⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷' }
|
||||||
|
|
||||||
local frame = 0
|
local frame = 0
|
||||||
--- Clean stale progress messages periodically
|
--- Clean stale progress messages periodically
|
||||||
local progress_timer = vim.uv.new_timer()
|
local progress_timer = vim.uv.new_timer()
|
||||||
local function start_progress_timer()
|
local function start_progress_timer()
|
||||||
if not progress_timer:is_active() then
|
if not progress_timer:is_active() then
|
||||||
progress_timer:start(0, 200, function()
|
progress_timer:start(0, 200, function()
|
||||||
local now = vim.loop.now()
|
local now = vim.loop.now()
|
||||||
for k, v in pairs(progress) do
|
for k, v in pairs(progress) do
|
||||||
local ttl = v.done and 2000 or 10000
|
local ttl = v.done and 2000 or 10000
|
||||||
if now - v.t > ttl then
|
if now - v.t > ttl then
|
||||||
progress[k] = nil
|
progress[k] = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if next(progress) then
|
if next(progress) then
|
||||||
frame = (frame % #spinner_frames) + 1
|
frame = (frame % #spinner_frames) + 1
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
vim.cmd('redrawstatus')
|
vim.cmd('redrawstatus')
|
||||||
end)
|
end)
|
||||||
else
|
else
|
||||||
progress_timer:stop()
|
progress_timer:stop()
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
vim.cmd('redrawstatus')
|
vim.cmd('redrawstatus')
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('LspProgress', {
|
vim.api.nvim_create_autocmd('LspProgress', {
|
||||||
callback = function(ev)
|
callback = function(ev)
|
||||||
local d = ev.data
|
local d = ev.data
|
||||||
if not d then
|
if not d then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local params = d.params
|
local params = d.params
|
||||||
if not params or not params.token then
|
if not params or not params.token then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local key = d.client_id .. ':' .. tostring(params.token)
|
local key = d.client_id .. ':' .. tostring(params.token)
|
||||||
local value = params.value or {}
|
local value = params.value or {}
|
||||||
if value.kind == 'begin' then
|
if value.kind == 'begin' then
|
||||||
progress[key] = {
|
progress[key] = {
|
||||||
msg = (value.message or 'working...'):gsub('%%', '%%%%'),
|
msg = (value.message or 'working...'):gsub('%%', '%%%%'),
|
||||||
t = vim.loop.now(),
|
t = vim.loop.now(),
|
||||||
}
|
}
|
||||||
start_progress_timer()
|
start_progress_timer()
|
||||||
elseif value.kind == 'report' then
|
elseif value.kind == 'report' then
|
||||||
local msg_parts = {}
|
local msg_parts = {}
|
||||||
if value.message then
|
if value.message then
|
||||||
msg_parts[#msg_parts + 1] = value.message
|
msg_parts[#msg_parts + 1] = value.message
|
||||||
end
|
end
|
||||||
if value.percentage ~= nil then
|
if value.percentage ~= nil then
|
||||||
msg_parts[#msg_parts + 1] = '(' .. value.percentage .. '%%)'
|
msg_parts[#msg_parts + 1] = '(' .. value.percentage .. '%%)'
|
||||||
end
|
end
|
||||||
progress[key] = {
|
progress[key] = {
|
||||||
msg = table.concat(msg_parts, ' '),
|
msg = table.concat(msg_parts, ' '),
|
||||||
t = vim.loop.now(),
|
t = vim.loop.now(),
|
||||||
}
|
}
|
||||||
elseif value.kind == 'end' then
|
elseif value.kind == 'end' then
|
||||||
if progress[key] then
|
if progress[key] then
|
||||||
progress[key].done = true
|
progress[key].done = true
|
||||||
end
|
end
|
||||||
vim.cmd('redrawstatus')
|
vim.cmd('redrawstatus')
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ 'LspAttach', 'LspDetach' }, {
|
vim.api.nvim_create_autocmd({ 'LspAttach', 'LspDetach' }, {
|
||||||
callback = function(args)
|
callback = function(args)
|
||||||
local names = {}
|
local names = {}
|
||||||
for _, c in ipairs(vim.lsp.get_clients({ bufnr = args.buf })) do
|
for _, c in ipairs(vim.lsp.get_clients({ bufnr = args.buf })) do
|
||||||
table.insert(names, c.name)
|
table.insert(names, c.name)
|
||||||
end
|
end
|
||||||
vim.b[args.buf].lsp_names = #names > 0
|
vim.b[args.buf].lsp_names = #names > 0
|
||||||
and (' ● ' .. table.concat(names, ', ') .. ' ')
|
and (' ● ' .. table.concat(names, ', ') .. ' ')
|
||||||
or ''
|
or ''
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
local function lsp_section()
|
local function lsp_section()
|
||||||
local client_ids = {}
|
local client_ids = {}
|
||||||
for _, c in
|
for _, c in
|
||||||
ipairs(vim.lsp.get_clients({ bufnr = vim.api.nvim_get_current_buf() }))
|
ipairs(vim.lsp.get_clients({ bufnr = vim.api.nvim_get_current_buf() }))
|
||||||
do
|
do
|
||||||
client_ids[c.id] = true
|
client_ids[c.id] = true
|
||||||
end
|
end
|
||||||
local latest = nil
|
local latest = nil
|
||||||
for key, p in pairs(progress) do
|
for key, p in pairs(progress) do
|
||||||
local cid = tonumber(key:match('^(%d+):'))
|
local cid = tonumber(key:match('^(%d+):'))
|
||||||
if cid and client_ids[cid] then
|
if cid and client_ids[cid] then
|
||||||
if not latest or p.t > latest.t then
|
if not latest or p.t > latest.t then
|
||||||
latest = p
|
latest = p
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if latest and (not latest.done or (vim.loop.now() - latest.t < 2000)) then
|
if latest and (not latest.done or (vim.loop.now() - latest.t < 2000)) then
|
||||||
return '%#StatusLspSpinner# ○ ' .. latest.msg .. ' %*'
|
return '%#StatusLspSpinner# ○ ' .. latest.msg .. ' %*'
|
||||||
end
|
end
|
||||||
return '%#StatusLsp#' .. (vim.b.lsp_names or '') .. '%*'
|
return '%#StatusLsp#' .. (vim.b.lsp_names or '') .. '%*'
|
||||||
end
|
end
|
||||||
|
|
||||||
local diag_cache = {}
|
local diag_cache = {}
|
||||||
local function build_diag_string(counts)
|
local function build_diag_string(counts)
|
||||||
local parts = {}
|
local parts = {}
|
||||||
if counts[1] and counts[1] > 0 then
|
if counts[1] and counts[1] > 0 then
|
||||||
table.insert(parts, '%#StatusDiagError# E' .. counts[1] .. ' %*')
|
table.insert(parts, '%#StatusDiagError# E' .. counts[1] .. ' %*')
|
||||||
end
|
end
|
||||||
if counts[2] and counts[2] > 0 then
|
if counts[2] and counts[2] > 0 then
|
||||||
table.insert(parts, '%#StatusDiagWarn# W' .. counts[2] .. ' %*')
|
table.insert(parts, '%#StatusDiagWarn# W' .. counts[2] .. ' %*')
|
||||||
end
|
end
|
||||||
if counts[4] and counts[4] > 0 then
|
if counts[4] and counts[4] > 0 then
|
||||||
table.insert(parts, '%#StatusDiagHint# H' .. counts[4] .. ' %*')
|
table.insert(parts, '%#StatusDiagHint# H' .. counts[4] .. ' %*')
|
||||||
end
|
end
|
||||||
return table.concat(parts)
|
return table.concat(parts)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function update_diag_cache(ev)
|
local function update_diag_cache(ev)
|
||||||
diag_cache[ev.buf] = build_diag_string(vim.diagnostic.count(ev.buf))
|
diag_cache[ev.buf] = build_diag_string(vim.diagnostic.count(ev.buf))
|
||||||
end
|
end
|
||||||
vim.api.nvim_create_autocmd(
|
vim.api.nvim_create_autocmd(
|
||||||
'DiagnosticChanged',
|
'DiagnosticChanged',
|
||||||
{ callback = update_diag_cache }
|
{ callback = update_diag_cache }
|
||||||
)
|
)
|
||||||
|
|
||||||
local function update_git_diff()
|
local function update_git_diff()
|
||||||
if vim.bo.buftype ~= '' then
|
if vim.bo.buftype ~= '' then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local file = vim.fn.expand('%:p')
|
local file = vim.fn.expand('%:p')
|
||||||
if file == '' then
|
if file == '' then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
vim.system(
|
vim.system(
|
||||||
{ 'git', 'diff', '--numstat', 'HEAD', '--', file },
|
{ 'git', 'diff', '--numstat', 'HEAD', '--', file },
|
||||||
{ text = true },
|
{ text = true },
|
||||||
function(out)
|
function(out)
|
||||||
if out.code ~= 0 or out.stdout == '' then
|
if out.code ~= 0 or out.stdout == '' then
|
||||||
vim.b.git_diff = nil
|
vim.b.git_diff = nil
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local added, removed = out.stdout:match('(%d+)%s+(%d+)')
|
local added, removed = out.stdout:match('(%d+)%s+(%d+)')
|
||||||
vim.b.git_diff = {
|
vim.b.git_diff = {
|
||||||
added = tonumber(added) or 0,
|
added = tonumber(added) or 0,
|
||||||
removed = tonumber(removed) or 0,
|
removed = tonumber(removed) or 0,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
vim.api.nvim_create_autocmd({ 'BufEnter', 'FocusGained', 'BufWritePost' }, {
|
vim.api.nvim_create_autocmd({ 'BufEnter', 'FocusGained', 'BufWritePost' }, {
|
||||||
callback = update_git_diff,
|
callback = update_git_diff,
|
||||||
})
|
})
|
||||||
|
|
||||||
function _G.__statusline()
|
function _G.__statusline()
|
||||||
local m = vim.fn.mode()
|
local m = vim.fn.mode()
|
||||||
local mode_hl = mode_hl_map[m] or 'StatusModeNormal'
|
local mode_hl = mode_hl_map[m] or 'StatusModeNormal'
|
||||||
local git = vim.b.git_branch or ''
|
local git = vim.b.git_branch or ''
|
||||||
local cur_buf = vim.api.nvim_get_current_buf()
|
local cur_buf = vim.api.nvim_get_current_buf()
|
||||||
local parts = {
|
local parts = {
|
||||||
'%#' .. mode_hl .. '#' .. (mode_map[m] or ' ?? ') .. '%*',
|
'%#' .. mode_hl .. '#' .. (mode_map[m] or ' ?? ') .. '%*',
|
||||||
git ~= '' and ('%#StatusGit# ' .. git .. ' %*') or '',
|
git ~= '' and ('%#StatusGit# ' .. git .. ' %*') or '',
|
||||||
}
|
}
|
||||||
local diff = vim.b.git_diff
|
local diff = vim.b.git_diff
|
||||||
if diff and (diff.added > 0 or diff.removed > 0) then
|
if diff and (diff.added > 0 or diff.removed > 0) then
|
||||||
if diff.added > 0 then
|
if diff.added > 0 then
|
||||||
table.insert(parts, '%#StatusGitAdded# +' .. diff.added .. ' %*')
|
table.insert(parts, '%#StatusGitAdded# +' .. diff.added .. ' %*')
|
||||||
end
|
end
|
||||||
if diff.removed > 0 then
|
if diff.removed > 0 then
|
||||||
table.insert(
|
table.insert(
|
||||||
parts,
|
parts,
|
||||||
'%#StatusGitRemoved# -' .. diff.removed .. ' %*'
|
'%#StatusGitRemoved# -' .. diff.removed .. ' %*'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
table.insert(parts, lsp_section())
|
table.insert(parts, lsp_section())
|
||||||
table.insert(parts, '%=')
|
table.insert(parts, '%=')
|
||||||
local recording = vim.fn.reg_recording()
|
local recording = vim.fn.reg_recording()
|
||||||
if recording ~= '' then
|
if recording ~= '' then
|
||||||
table.insert(
|
table.insert(
|
||||||
parts,
|
parts,
|
||||||
'%#StatusRecording# ● Rec @' .. recording .. ' %*'
|
'%#StatusRecording# ● Rec @' .. recording .. ' %*'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
table.insert(
|
table.insert(
|
||||||
parts,
|
parts,
|
||||||
diag_cache[cur_buf] or build_diag_string(vim.diagnostic.count(cur_buf))
|
diag_cache[cur_buf] or build_diag_string(vim.diagnostic.count(cur_buf))
|
||||||
)
|
)
|
||||||
table.insert(parts, '%#StatusCursor# %l:%-2c %*')
|
table.insert(parts, '%#StatusCursor# %l:%-2c %*')
|
||||||
table.insert(parts, '%#' .. mode_hl .. '# %p%% %*')
|
table.insert(parts, '%#' .. mode_hl .. '# %p%% %*')
|
||||||
return table.concat(parts)
|
return table.concat(parts)
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.o.statusline = '%!v:lua.__statusline()'
|
vim.o.statusline = '%!v:lua.__statusline()'
|
||||||
|
|
||||||
require('incline').setup({
|
require('incline').setup({
|
||||||
window = {
|
window = { margin = { vertical = 0, horizontal = 1 } },
|
||||||
padding = 0,
|
hide = { cursorline = true },
|
||||||
margin = { horizontal = 0 },
|
render = function(props)
|
||||||
options = {
|
local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ":t")
|
||||||
-- Reset winhl so it doesn't force total transparency
|
if vim.bo[props.buf].modified then
|
||||||
winhl = 'Normal:InclineNormal',
|
filename = "[+] " .. filename
|
||||||
},
|
end
|
||||||
},
|
|
||||||
render = function(props)
|
|
||||||
local filename =
|
|
||||||
vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ':t')
|
|
||||||
if filename == '' then
|
|
||||||
filename = '[No Name]'
|
|
||||||
end
|
|
||||||
local ft_icon, ft_color =
|
|
||||||
require('nvim-web-devicons').get_icon_color(filename)
|
|
||||||
local modified = vim.bo[props.buf].modified
|
|
||||||
|
|
||||||
return {
|
local icon, color = require("nvim-web-devicons").get_icon_color(filename)
|
||||||
ft_icon and {
|
return { { icon, guifg = color }, { " " }, { filename } }
|
||||||
' ',
|
end,
|
||||||
ft_icon,
|
-- window = {
|
||||||
' ',
|
-- padding = 0,
|
||||||
guibg = ft_color,
|
-- margin = { horizontal = 0 },
|
||||||
guifg = require('incline.helpers').contrast_color(ft_color),
|
-- options = {
|
||||||
} or '',
|
-- -- Reset winhl so it doesn't force total transparency
|
||||||
-- Wrap the text and padding inside a structural block linked to 'CursorLine'
|
-- winhl = 'Normal:InclineNormal',
|
||||||
{
|
-- },
|
||||||
' ',
|
-- },
|
||||||
{ filename, gui = modified and 'bold,italic' or 'bold' },
|
-- render = function(props)
|
||||||
' ',
|
-- local filename =
|
||||||
group = 'CursorLine',
|
-- vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ':t')
|
||||||
},
|
-- if filename == '' then
|
||||||
}
|
-- filename = '[No Name]'
|
||||||
end,
|
-- end
|
||||||
|
-- local ft_icon, ft_color =
|
||||||
|
-- require('nvim-web-devicons').get_icon_color(filename)
|
||||||
|
-- local modified = vim.bo[props.buf].modified
|
||||||
|
--
|
||||||
|
-- return {
|
||||||
|
-- ft_icon and {
|
||||||
|
-- ' ',
|
||||||
|
-- ft_icon,
|
||||||
|
-- ' ',
|
||||||
|
-- guibg = ft_color,
|
||||||
|
-- guifg = require('incline.helpers').contrast_color(ft_color),
|
||||||
|
-- -- guibg = ft_color,
|
||||||
|
-- -- guifg = require('incline.helpers').contrast_color(ft_color),
|
||||||
|
-- } or '',
|
||||||
|
-- -- Wrap the text and padding inside a structural block linked to 'CursorLine'
|
||||||
|
-- {
|
||||||
|
-- ' ',
|
||||||
|
-- { filename, gui = modified and 'bold,italic' or 'bold' },
|
||||||
|
-- ' ',
|
||||||
|
-- group = 'CursorLine',
|
||||||
|
-- },
|
||||||
|
-- }
|
||||||
|
-- end,
|
||||||
})
|
})
|
||||||
-- require('incline').setup({
|
|
||||||
-- window = {
|
|
||||||
-- padding = 0,
|
|
||||||
-- margin = { horizontal = 0 },
|
|
||||||
-- },
|
|
||||||
-- render = function(props)
|
|
||||||
-- local filename =
|
|
||||||
-- vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ':t')
|
|
||||||
-- if filename == '' then
|
|
||||||
-- filename = '[No Name]'
|
|
||||||
-- end
|
|
||||||
-- local ft_icon, ft_color =
|
|
||||||
-- require('nvim-web-devicons').get_icon_color(filename)
|
|
||||||
-- local modified = vim.bo[props.buf].modified
|
|
||||||
-- -- Query 'StatusLine' since your custom highlights derive from it
|
|
||||||
-- return {
|
|
||||||
-- ft_icon and {
|
|
||||||
-- ' ',
|
|
||||||
-- ft_icon,
|
|
||||||
-- ' ',
|
|
||||||
-- guibg = ft_color,
|
|
||||||
-- guifg = require('incline.helpers').contrast_color(ft_color),
|
|
||||||
-- } or '',
|
|
||||||
-- ' ',
|
|
||||||
-- { filename, gui = modified and 'bold,italic' or 'bold' },
|
|
||||||
-- ' ',
|
|
||||||
-- guibg = '#363646',
|
|
||||||
-- }
|
|
||||||
-- end,
|
|
||||||
-- })
|
|
||||||
|
|
||||||
require('noice').setup({
|
require('noice').setup({
|
||||||
lsp = {
|
lsp = {
|
||||||
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||||
override = {
|
override = {
|
||||||
['vim.lsp.util.convert_input_to_markdown_lines'] = true,
|
['vim.lsp.util.convert_input_to_markdown_lines'] = true,
|
||||||
['vim.lsp.util.stylize_markdown'] = true,
|
['vim.lsp.util.stylize_markdown'] = true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
presets = {
|
presets = {
|
||||||
bottom_search = true, -- use a classic bottom cmdline for search
|
bottom_search = true, -- use a classic bottom cmdline for search
|
||||||
command_palette = true, -- position the cmdline and popupmenu together
|
command_palette = true, -- position the cmdline and popupmenu together
|
||||||
long_message_to_split = true, -- long messages will be sent to a split
|
long_message_to_split = true, -- long messages will be sent to a split
|
||||||
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
require('notify').setup({
|
require('notify').setup({
|
||||||
background_colour = '#000000',
|
background_colour = '#000000',
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,74 +1,38 @@
|
|||||||
{
|
{
|
||||||
"plugins": {
|
"plugins": {
|
||||||
"Mountain": {
|
|
||||||
"rev": "27db65fef4654095bf7e46a8930f411b6545fbe5",
|
|
||||||
"src": "https://github.com/mountain-theme/Mountain"
|
|
||||||
},
|
|
||||||
"bamboo.nvim": {
|
|
||||||
"rev": "1309bc88bffcf1bedc3e84e7fa9004de93da774a",
|
|
||||||
"src": "https://github.com/ribru17/bamboo.nvim"
|
|
||||||
},
|
|
||||||
"blink.cmp": {
|
"blink.cmp": {
|
||||||
"rev": "78336bc89ee5365633bcf754d93df01678b5c08f",
|
"rev": "78336bc89ee5365633bcf754d93df01678b5c08f",
|
||||||
"src": "https://github.com/saghen/blink.cmp",
|
"src": "https://github.com/saghen/blink.cmp",
|
||||||
"version": ">=0.0.0"
|
"version": ">=0.0.0"
|
||||||
},
|
},
|
||||||
"catppuccin": {
|
|
||||||
"rev": "05e8787020dcfdb937bf2ff23855ea2415b4e072",
|
|
||||||
"src": "https://github.com/catppuccin/nvim"
|
|
||||||
},
|
|
||||||
"conform.nvim": {
|
"conform.nvim": {
|
||||||
"rev": "619363c30309d29ffa631e67c8183f2a72caa373",
|
"rev": "016802de402556da54c36bd7359b441266b01cdd",
|
||||||
"src": "https://github.com/stevearc/conform.nvim"
|
"src": "https://github.com/stevearc/conform.nvim"
|
||||||
},
|
},
|
||||||
"dart-vim-plugin": {
|
"dropbar.nvim": {
|
||||||
"rev": "13fa42674f1685a1c5a095c1dac74d94e43a9849",
|
"rev": "808ba31cde89aec8833e9789f5e04557cd31c9e1",
|
||||||
"src": "https://github.com/dart-lang/dart-vim-plugin"
|
"src": "https://github.com/Bekaboo/dropbar.nvim"
|
||||||
},
|
|
||||||
"dressing.nvim": {
|
|
||||||
"rev": "2d7c2db2507fa3c4956142ee607431ddb2828639",
|
|
||||||
"src": "https://github.com/stevearc/dressing.nvim"
|
|
||||||
},
|
|
||||||
"everforest": {
|
|
||||||
"rev": "85a86eb62409e3ec88713bff3d1b9d7374e112e4",
|
|
||||||
"src": "https://github.com/sainnhe/everforest"
|
|
||||||
},
|
|
||||||
"flutter-tools.nvim": {
|
|
||||||
"rev": "7d1acfd139215e02d2784733af69a61aaebe06e8",
|
|
||||||
"src": "https://github.com/akinsho/flutter-tools.nvim"
|
|
||||||
},
|
|
||||||
"fzf-lua": {
|
|
||||||
"rev": "532d463f5c83595192fe740572d8fd6902b2217a",
|
|
||||||
"src": "https://github.com/ibhagwan/fzf-lua"
|
|
||||||
},
|
},
|
||||||
"incline.nvim": {
|
"incline.nvim": {
|
||||||
"rev": "debd628e9395f7a9da57bdc31ce75ca6b40a880b",
|
"rev": "debd628e9395f7a9da57bdc31ce75ca6b40a880b",
|
||||||
"src": "https://github.com/b0o/incline.nvim"
|
"src": "https://github.com/b0o/incline.nvim"
|
||||||
},
|
},
|
||||||
"kanagawa.nvim": {
|
"kanso.nvim": {
|
||||||
"rev": "bb85e4bfc8d89b0e62c8fa53ccdd13d12e2f77b3",
|
"rev": "1afbbb449aa0254823dbe1932e3cbb51886ff9fe",
|
||||||
"src": "https://github.com/rebelot/kanagawa.nvim"
|
"src": "https://github.com/webhooked/kanso.nvim"
|
||||||
},
|
},
|
||||||
"lsp-status.nvim": {
|
"live-preview.nvim": {
|
||||||
"rev": "54f48eb5017632d81d0fd40112065f1d062d0629",
|
"rev": "a6307fa340ed7c0d96f5c567afc8c991aad94ce0",
|
||||||
"src": "https://github.com/nvim-lua/lsp-status.nvim"
|
"src": "https://github.com/brianhuster/live-preview.nvim"
|
||||||
},
|
|
||||||
"lualine.nvim": {
|
|
||||||
"rev": "221ce6b2d999187044529f49da6554a92f740a96",
|
|
||||||
"src": "https://github.com/nvim-lualine/lualine.nvim"
|
|
||||||
},
|
},
|
||||||
"mason-lspconfig.nvim": {
|
"mason-lspconfig.nvim": {
|
||||||
"rev": "a4068c3ebd4cb335b25239e5ea35c22ee6007962",
|
"rev": "b5576cd62899a1a478d0e67ef3d378ee55dba82d",
|
||||||
"src": "https://github.com/mason-org/mason-lspconfig.nvim"
|
"src": "https://github.com/mason-org/mason-lspconfig.nvim"
|
||||||
},
|
},
|
||||||
"mason.nvim": {
|
"mason.nvim": {
|
||||||
"rev": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d",
|
"rev": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d",
|
||||||
"src": "https://github.com/mason-org/mason.nvim"
|
"src": "https://github.com/mason-org/mason.nvim"
|
||||||
},
|
},
|
||||||
"melange-nvim": {
|
|
||||||
"rev": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce",
|
|
||||||
"src": "https://github.com/savq/melange-nvim"
|
|
||||||
},
|
|
||||||
"mini.hipatterns": {
|
"mini.hipatterns": {
|
||||||
"rev": "607d604e650cdf21d71f863d040c496a1d0cb320",
|
"rev": "607d604e650cdf21d71f863d040c496a1d0cb320",
|
||||||
"src": "https://github.com/nvim-mini/mini.hipatterns",
|
"src": "https://github.com/nvim-mini/mini.hipatterns",
|
||||||
@@ -79,24 +43,16 @@
|
|||||||
"src": "https://github.com/nvim-mini/mini.pairs",
|
"src": "https://github.com/nvim-mini/mini.pairs",
|
||||||
"version": ">=0.0.0"
|
"version": ">=0.0.0"
|
||||||
},
|
},
|
||||||
"mini.statusline": {
|
|
||||||
"rev": "127997ebef7ef632161203b960c5ef9d158f4810",
|
|
||||||
"src": "https://github.com/nvim-mini/mini.statusline"
|
|
||||||
},
|
|
||||||
"noice.nvim": {
|
"noice.nvim": {
|
||||||
"rev": "7bfd942445fb63089b59f97ca487d605e715f155",
|
"rev": "7bfd942445fb63089b59f97ca487d605e715f155",
|
||||||
"src": "https://github.com/folke/noice.nvim"
|
"src": "https://github.com/folke/noice.nvim"
|
||||||
},
|
},
|
||||||
"nui.nvim": {
|
"nui.nvim": {
|
||||||
"rev": "de740991c12411b663994b2860f1a4fd0937c130",
|
"rev": "10fc361835c856ba4233ef5ea135b919bf3dce97",
|
||||||
"src": "https://github.com/MunifTanjim/nui.nvim"
|
"src": "https://github.com/MunifTanjim/nui.nvim"
|
||||||
},
|
},
|
||||||
"nvim-dap": {
|
|
||||||
"rev": "9e848e09a697ee95302a3ef2dd43fd6eb709e570",
|
|
||||||
"src": "https://github.com/mfussenegger/nvim-dap"
|
|
||||||
},
|
|
||||||
"nvim-lspconfig": {
|
"nvim-lspconfig": {
|
||||||
"rev": "d5b6e3db4c17b0146f63a2fc47e2027a754b2cb1",
|
"rev": "84b6b6c3f13cb34a6c8a0354b0da4c67d8ccf867",
|
||||||
"src": "https://github.com/neovim/nvim-lspconfig"
|
"src": "https://github.com/neovim/nvim-lspconfig"
|
||||||
},
|
},
|
||||||
"nvim-notify": {
|
"nvim-notify": {
|
||||||
@@ -108,7 +64,7 @@
|
|||||||
"src": "https://github.com/alexghergh/nvim-tmux-navigation"
|
"src": "https://github.com/alexghergh/nvim-tmux-navigation"
|
||||||
},
|
},
|
||||||
"nvim-treesitter": {
|
"nvim-treesitter": {
|
||||||
"rev": "4916d6592ede8c07973490d9322f187e07dfefac",
|
"rev": "5cb0114e6242625db56dd6440e945ed1ece10bc7",
|
||||||
"src": "https://github.com/nvim-treesitter/nvim-treesitter"
|
"src": "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||||
},
|
},
|
||||||
"nvim-ts-autotag": {
|
"nvim-ts-autotag": {
|
||||||
@@ -116,7 +72,7 @@
|
|||||||
"src": "https://github.com/windwp/nvim-ts-autotag"
|
"src": "https://github.com/windwp/nvim-ts-autotag"
|
||||||
},
|
},
|
||||||
"nvim-web-devicons": {
|
"nvim-web-devicons": {
|
||||||
"rev": "0ca28b61a04fe7426cefbdd52c2647ef0e335b5f",
|
"rev": "5f032a85be210cd1c6ac98861eb3b187ff3bd5eb",
|
||||||
"src": "https://github.com/nvim-tree/nvim-web-devicons"
|
"src": "https://github.com/nvim-tree/nvim-web-devicons"
|
||||||
},
|
},
|
||||||
"plenary.nvim": {
|
"plenary.nvim": {
|
||||||
@@ -124,19 +80,11 @@
|
|||||||
"src": "https://github.com/nvim-lua/plenary.nvim"
|
"src": "https://github.com/nvim-lua/plenary.nvim"
|
||||||
},
|
},
|
||||||
"polydev": {
|
"polydev": {
|
||||||
"rev": "8d41141e9ab68c271bb8bb2db5528bb0a61c78eb",
|
"rev": "2b30e36fade3272081f7166bc0ec614b0b7da1c9",
|
||||||
"src": "git@moo:dmm/polydev.git"
|
"src": "https://git.moomancer.xyz/DarthMooMancer/polydev.git"
|
||||||
},
|
|
||||||
"rose-pine": {
|
|
||||||
"rev": "ff483051a47e27d84bdef47703538df1ed9f4a47",
|
|
||||||
"src": "https://github.com/rose-pine/neovim"
|
|
||||||
},
|
|
||||||
"statusline.lua": {
|
|
||||||
"rev": "4c7083cdd8b902ce06762861124ac4c031b2e581",
|
|
||||||
"src": "https://github.com/beauwilliams/statusline.lua"
|
|
||||||
},
|
},
|
||||||
"telescope.nvim": {
|
"telescope.nvim": {
|
||||||
"rev": "427b576c16792edad01a92b89721d923c19ad60f",
|
"rev": "40aedd8a68c78a656a10a8d62d80c54af59420fb",
|
||||||
"src": "https://github.com/nvim-telescope/telescope.nvim"
|
"src": "https://github.com/nvim-telescope/telescope.nvim"
|
||||||
},
|
},
|
||||||
"trouble.nvim": {
|
"trouble.nvim": {
|
||||||
|
|||||||
Vendored
BIN
Binary file not shown.
+3
-2
@@ -4,12 +4,13 @@ Host *
|
|||||||
IdentityFile ~/.ssh/id_ed25519
|
IdentityFile ~/.ssh/id_ed25519
|
||||||
|
|
||||||
Host moo
|
Host moo
|
||||||
HostName 192.168.5.16
|
# HostName 192.168.5.16
|
||||||
|
HostName 100.78.144.113
|
||||||
User git
|
User git
|
||||||
IdentityFile ~/.ssh/id_ed25519 # Path to your private key
|
IdentityFile ~/.ssh/id_ed25519 # Path to your private key
|
||||||
|
|
||||||
Host oasis
|
Host oasis
|
||||||
HostName 192.168.5.16
|
HostName 100.78.144.113
|
||||||
User andrew
|
User andrew
|
||||||
Port 2222
|
Port 2222
|
||||||
IdentityFile ~/.ssh/id_ed25519
|
IdentityFile ~/.ssh/id_ed25519
|
||||||
|
|||||||
Submodule tmux/.config/tmux/plugins/tpm updated: 99469c4a9b...e261deb1b4
@@ -14,8 +14,10 @@ set -g status-style 'bg=default' # Completely transparent container
|
|||||||
set -g status-left-length 100
|
set -g status-left-length 100
|
||||||
set -g status-left "#[fg=colour4,bg=default,bold] #S #[fg=colour8,nobold]│ "
|
set -g status-left "#[fg=colour4,bg=default,bold] #S #[fg=colour8,nobold]│ "
|
||||||
|
|
||||||
set -g status-right-length 150
|
# set -g status-right-length 150
|
||||||
set -g status-right "#[fg=colour5] %m-%d #[fg=colour8]│ #[fg=colour1] %H:%M "
|
# set -g status-right "#[fg=colour5] %m-%d #[fg=colour8]│ #[fg=colour1] %H:%M "
|
||||||
|
# set -g status-right "#[fg=colour3] #{b:pane_current_path} "
|
||||||
|
set -g status-right ""
|
||||||
|
|
||||||
set -g window-status-current-format "#[fg=colour6,bg=default,bold] #F#I:#W"
|
set -g window-status-current-format "#[fg=colour6,bg=default,bold] #F#I:#W"
|
||||||
set -g window-status-format "#[fg=colour7,bg=default] #I:#W"
|
set -g window-status-format "#[fg=colour7,bg=default] #I:#W"
|
||||||
|
|||||||
Reference in New Issue
Block a user