Compare commits

...

No commits in common. "canary" and "main" have entirely different histories.
canary ... main

23 changed files with 618 additions and 570 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.neoconf.json
.stylua.toml
lazy-lock.json

View File

@ -4,8 +4,23 @@ local vanila_vim_autostart_commands = {
"set nowrap",
"set shiftwidth=4",
"set tabstop=4",
"set ttyfast",
"set clipboard=unnamedplus"
}
vim.diagnostic.config({
virtual_text = true,
signs = {
text = {
[vim.diagnostic.severity.ERROR] = '󰅗 ',
[vim.diagnostic.severity.WARN] = '󰀧 ',
[vim.diagnostic.severity.INFO] = '󰬐',
[vim.diagnostic.severity.HINT] = '󰌵',
},
}
})
vim.opt.termguicolors = true
vim.opt.fillchars = { eob = " " }
for _, cmd in pairs(vanila_vim_autostart_commands) do
@ -17,10 +32,9 @@ if vim.lsp.inlay_hint then
end
require("config.lazy")
require("config.plugins.acmp")
require("config.plugins.autotag")
require("config.plugins.autocomplete")
require("config.plugins.bufferline")
require("config.plugins.buffer")
require("config.plugins.colorizer")
require("config.plugins.comment")
require("config.plugins.dap")
@ -28,18 +42,15 @@ require("config.plugins.gitsigns")
require("config.plugins.ibl")
require("config.plugins.hover_actions")
require("config.plugins.lsp_config")
require("config.plugins.lsp_diagnostic")
require("config.plugins.lualine")
require("config.plugins.navic")
require("config.plugins.noice")
require("toggleterm").setup()
require("config.plugins.telescope")
require("config.plugins.treesitter")
require("config.plugins.neotree")
require("config.plugins.prettier")
require("config.plugins.rustaceanvim")
require("huez").setup({})
require("config.plugins.dropbar")
require("config.plugins.dashboard")
vim.api.nvim_create_autocmd("BufWritePre", {
buffer = buffer,
@ -47,5 +58,4 @@ vim.api.nvim_create_autocmd("BufWritePre", {
vim.lsp.buf.format { async = false }
end
})
require("mappings")

View File

@ -1,5 +0,0 @@
-- require'cmp'.setup {
-- sources = {
-- { name = 'nvim_lsp' }
-- }
-- }

View File

@ -1,4 +1,4 @@
local cmp = require "cmp"
local cmp = require("cmp")
local kind_icons = {
Text = "",
@ -36,20 +36,23 @@ cmp.setup{
require("luasnip").lsp_expand(args.body)
end,
},
window = {
completion = {
-- winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None",
col_offset = -3,
side_padding = 0,
},
},
formatting = {
fields = { "kind", "abbr", "menu" },
format = function(entry, vim_item)
-- Kind icons
vim_item.kind = string.format('\t%s %s\t', kind_icons[vim_item.kind], vim_item.kind) -- This concatenates the icons with the name of the item kind
-- Source
vim_item.menu = ({
buffer = "[Buffer]",
nvim_lsp = "[LSP]",
luasnip = "[LuaSnip]",
nvim_lua = "[Lua]",
latex_symbols = "[LaTeX]",
})[entry.source.name]
return vim_item
local kind = require("lspkind").cmp_format({ mode = "symbol_text", maxwidth = 50 })(entry, vim_item)
local strings = vim.split(kind.kind, "%s", { trimempty = true })
kind.kind = " " .. (strings[1] or "") .. " "
kind.menu = " " .. (strings[2] or "")
return kind
end
},
@ -89,6 +92,7 @@ cmp.setup{
sources = {
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "buffer" },
{ name = "path" },
},

View File

@ -2,6 +2,6 @@ require('nvim-ts-autotag').setup({
opts = {
enable_close = true,
enable_rename = true,
enable_close_on_slash = false
enable_close_on_slash = true,
},
})

View File

@ -91,9 +91,9 @@ require("dapui").setup()
local dap, dapui = require("dap"), require("dapui")
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open({})
end
vim.keymap.set('n', '<leader>ui', require 'dapui'.toggle)

View File

@ -1,31 +0,0 @@
require('dashboard').setup {
theme = 'hyper',
config = {
week_header = {
enable = true,
},
shortcut = {
{ desc = '󰊳 Update', group = '@property', action = 'Lazy update', key = 'u' },
{
icon = '',
icon_hl = '@variable',
desc = 'Files',
group = 'Label',
action = 'Telescope find_files',
key = 'f',
},
{
desc = ' Apps',
group = 'DiagnosticHint',
action = 'Telescope app',
key = 'a',
},
{
desc = ' dotfiles',
group = 'Number',
action = 'Telescope dotfiles',
key = 'd',
},
},
},
}

View File

@ -1,4 +0,0 @@
require('dropbar').setup()
vim.ui.select = require('dropbar.utils.menu').select
vim.api.nvim_set_hl(0, 'DropBarMenuHoverEntry', { link = 'PmenuExtraSel' })

View File

@ -44,5 +44,4 @@ require('gitsigns').setup {
row = 0,
vcol = 1,
},
yadm = { enable = false },
}

View File

@ -1,6 +1,9 @@
require("hover").setup {
init = function()
require("hover.providers.lsp")
require("hover.providers.diagnostic")
require("hover.providers.dap")
require("hover.providers.dictionary")
end,
preview_opts = {
border = 'single'

View File

@ -1,5 +1,13 @@
local lspconfig = require("lspconfig")
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, {
virtual_text = true
}
)
lspconfig.clangd.setup({})
lspconfig.lua_ls.setup({
settings = {
Lua = {

View File

@ -1,5 +0,0 @@
local signs = { Error = "", Warn = "", Hint = "󱩎 ", Info = "" }
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
end

View File

@ -1,3 +1,5 @@
local _colors = { "DiffAdd", "DiffChange", "RedrawDebugRecompose" }
require("lualine").setup({
options = {
icons_enabled = true,
@ -30,8 +32,39 @@ require("lualine").setup({
},
},
lualine_b = { 'branch' },
lualine_c = {'diff'},
lualine_x = {'encoding', 'filetype', 'diagnostics', 'lsp'},
lualine_c = {
{
'diff',
colored = true, -- Displays a colored diff status if set to true
symbols = { added = '', modified = '', removed = '' }, -- Changes the symbols used by the diff.
source = nil, -- A function that works as a data source for diff.
}
},
lualine_x = { 'encoding', 'filetype',
{
'diagnostics',
sources = { 'nvim_diagnostic', 'coc' },
sections = { 'error', 'warn', 'info', 'hint' },
diagnostics_color = {
error = 'DiagnosticError', -- Changes diagnostics' error color.
warn = 'DiagnosticWarn', -- Changes diagnostics' warn color.
info = 'DiagnosticInfo', -- Changes diagnostics' info color.
hint = 'DiagnosticHint', -- Changes diagnostics' hint color.
},
symbols = {
hint = '󰌵 ',
info = '󰬐 ',
warn = '󰀧 ',
error = '󰅗 ',
},
colored = true, -- Displays diagnostics status in color if set to true.
update_in_insert = false, -- Update diagnostics in insert mode.
always_visible = false, -- Show diagnostics even if there are none.
}
},
lualine_y = { 'progress' },
lualine_z = { 'location' }
},
@ -47,7 +80,7 @@ require("lualine").setup({
},
},
lualine_b = { 'branch' },
lualine_c = {'diff'},
lualine_c = {},
lualine_x = { 'encoding', 'filetype', 'diagnostics', 'lsp' },
lualine_y = { 'progress' },
lualine_z = { 'location' }

View File

@ -1,47 +0,0 @@
local navic = require("nvim-navic")
navic.setup {
icons = {
File = "󰈙 ",
Module = "",
Namespace = "󰌗 ",
Package = "",
Class = "󰌗 ",
Method = "󰆧 ",
Property = "",
Field = "",
Constructor = "",
Enum = "󰕘",
Interface = "󰕘",
Function = "󰊕 ",
Variable = "󰆧 ",
Constant = "󰏿 ",
String = "󰀬 ",
Number = "󰎠 ",
Boolean = "",
Array = "󰅪 ",
Object = "󰅩 ",
Key = "󰌋 ",
Null = "󰟢 ",
EnumMember = "",
Struct = "󰌗 ",
Event = "",
Operator = "󰆕 ",
TypeParameter = "󰊄 ",
},
lsp = {
auto_attach = true,
preference = nil,
},
highlight = true,
seperator = '',
depth_limit = 0,
depth_limit_indicator = "..",
safe_output = true,
lazy_update_context = false,
click = false,
format_text = function(text)
return text
end,
}

View File

@ -1,12 +1,3 @@
vim.fn.sign_define("LspDiagnosticsSignError",
{text = "󰅙 ", texthl = "LspDiagnosticsSignError"})
vim.fn.sign_define("LspDiagnosticsSignWarning",
{text = "󱇎 ", texthl = "LspDiagnosticsSignWarning"})
vim.fn.sign_define("LspDiagnosticsSignInformation",
{text = "󰰄 ", texthl = "LspDiagnosticsSignInformation"})
vim.fn.sign_define("LspDiagnosticsSignHint",
{text = "󰐗 ", texthl = "LspDiagnosticsSignHint"})
require("neo-tree").setup({
close_if_last_window = false,
popup_border_style = "rounded",
@ -16,6 +7,20 @@ require("neo-tree").setup({
sort_case_insensitive = false,
sort_function = nil,
default_component_configs = {
diagnostics = {
symbols = {
hint = '󰌵',
info = '󰬐',
warn = '󰀧',
error = '󰅗',
},
highlights = {
hint = "DiagnosticSignHint",
info = "DiagnosticSignInfo",
warn = "DiagnosticSignWarn",
error = "DiagnosticSignError",
},
},
indent = {
with_expanders = true,
},

View File

@ -12,4 +12,16 @@ require("noice").setup({
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help
},
views = {
cmdline_popup = {
border = {
style = "none",
padding = { 1, 2 },
},
filter_options = {},
win_options = {
winhighlight = "NormalFloat:NormalFloat,FloatBorder:FloatBorder",
},
},
},
})

View File

@ -1,27 +1,18 @@
local navic = require("nvim-navic")
vim.g.rustaceanvim = {
tools = {
autoSetHints = true,
inlay_hints = {
show_parameter_hints = true,
parameter_hints_prefix = "in: ", -- "<- "
other_hints_prefix = "out: " -- "=> "
}
},
server = {
on_attach = function(client, bufnr)
navic.attach(client, bufnr)
end,
settings = {
['rust-analyzer'] = {
procMacro = {
enable = true,
},
assist = {
importEnforceGranularity = true,
importPrefix = "create"
},
cargo = { allFeatures = true },
cargo = {
allFeatures = true,
},
checkOnSave = {
-- default: `cargo check`
command = "clippy",
allFeatures = true
},

View File

@ -0,0 +1,86 @@
require("telescope").load_extension("ui-select")
require("telescope").setup({
defaults = {
borderchars = { " ", " ", " ", " ", " ", " ", " ", " " }
},
extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown {
-- even more opts
}
-- pseudo code / specification for writing custom displays, like the one
-- for "codeactions"
-- specific_opts = {
-- [kind] = {
-- make_indexed = function(items) -> indexed_items, width,
-- make_displayer = function(widths) -> displayer
-- make_display = function(displayer) -> function(e)
-- make_ordinal = function(e) -> string
-- },
-- -- for example to disable the custom builtin "codeactions" display
-- do the following
-- codeactions = false,
-- }
}
}
})
local blend = 50
vim.api.nvim_create_autocmd("FileType", {
pattern = "TelescopePrompt",
callback = function(ctx)
local backdropName = "TelescopeBackdrop"
local telescopeBufnr = ctx.buf
-- `Telescope` does not set a zindex, so it uses the default value
-- of `nvim_open_win`, which is 50: https://neovim.io/doc/user/api.html#nvim_open_win()
local telescopeZindex = 50
local backdropBufnr = vim.api.nvim_create_buf(false, true)
local winnr = vim.api.nvim_open_win(backdropBufnr, false, {
relative = "editor",
border = "none",
row = 0,
col = 0,
width = vim.o.columns,
height = vim.o.lines,
focusable = false,
style = "minimal",
zindex = telescopeZindex - 1, -- ensure it's below the reference window
})
vim.api.nvim_set_hl(0, backdropName, { bg = "#000000", default = true })
vim.wo[winnr].winhighlight = "Normal:" .. backdropName
vim.wo[winnr].winblend = blend
vim.bo[backdropBufnr].buftype = "nofile"
-- close backdrop when the reference buffer is closed
vim.api.nvim_create_autocmd({ "WinClosed", "BufLeave" }, {
once = true,
buffer = telescopeBufnr,
callback = function()
if vim.api.nvim_win_is_valid(winnr) then vim.api.nvim_win_close(winnr, true) end
if vim.api.nvim_buf_is_valid(backdropBufnr) then
vim.api.nvim_buf_delete(backdropBufnr, { force = true })
end
end,
})
end,
})
vim.api.nvim_create_autocmd({ "ColorScheme", "VimEnter" }, {
group = vim.api.nvim_create_augroup('Color', {}),
pattern = "*",
callback = function()
vim.api.nvim_set_hl(0, "TelescopePreviewTitle", { link = "MiniStatuslineModeVisual" })
vim.api.nvim_set_hl(0, "TelescopePromptTitle", { link = "MiniStatuslineModeCommand" })
vim.api.nvim_set_hl(0, "TelescopeResultsTitle", { link = "MiniStatuslineModeReplace" })
vim.api.nvim_set_hl(0, "TelescopePromptNormal", { link = "StatusLine" })
vim.api.nvim_set_hl(0, "TelescopePromptBorder", { link = "StatusLine" })
vim.api.nvim_set_hl(0, "TelescopePreviewNormal", { link = "BufferLineHint" })
vim.api.nvim_set_hl(0, "TelescopePreviewBorder", { link = "BufferLineHint" })
end
})

View File

@ -4,5 +4,8 @@ require'nvim-treesitter.configs'.setup {
auto_install = true,
highlight = {
enable = true,
},
autotag = {
enable = true,
}
}

View File

@ -1,4 +1,5 @@
local map = vim.keymap.set
local map = vim.keymap.set;
local bl_utils = require("config.utils.bufferline")
local hover = require "hover"
@ -31,6 +32,8 @@ map("n", "ca", "<cmd>RustLsp codeAction<cr>")
map("n", "<C-s>", "<cmd>w!<cr>")
map("i", "<C-s>", "<cmd>w!<cr>")
map("n", "<C-f>", "<C-q>")
map("i", "<C-f>", "<C-q>")
map("n", "<", "<cmd><gv<cr>")
map("n", ">", "<cmd>>gv<cr>")
@ -38,8 +41,6 @@ map("n", "<leader>c", function(bufnr)
bl_utils.buf_kill("bd", bufnr, true)
end)
map("n", "<leader>dr", "<cmd> DapContinue <cr>", { desc = "Continue debug" })
map("n", "do", function()
require("dapui").open()
end, { desc = "Open DAP ui" })
@ -60,7 +61,7 @@ map("n", "<C-Down>", "<cmd>resize +2<CR>")
map("n", "<C-Right>", "<cmd>vertical resize -2<CR>")
map("n", "<C-Left>", "<cmd>vertical resize +2<CR>")
map("n", "<leader>an", "<cmd>set norelativenumber<cr>")
map("n", "<leader>nn", "<cmd>set norelativenumber<cr>")
map("n", "<leader>rn", "<cmd>set relativenumber<cr>")
map("n", "tt", "<cmd>ToggleTerm<cr>")
map("n", "<C-{>", "<cmd>foldopen<cr>")

View File

@ -3,11 +3,14 @@ return {
'simrat39/inlay-hints.nvim',
},
{
"LunarVim/breadcrumbs.nvim",
'nvim-telescope/telescope-ui-select.nvim'
},
{
"akinsho/bufferline.nvim",
},
{
"onsails/lspkind.nvim"
},
{
"lewis6991/gitsigns.nvim"
},
@ -17,9 +20,6 @@ return {
{
"nvim-lualine/lualine.nvim",
},
{
"akinsho/toggleterm.nvim",
},
{
"windwp/nvim-autopairs",
},
@ -32,9 +32,6 @@ return {
{
"hrsh7th/cmp-nvim-lsp",
},
{
"SmiteshP/nvim-navic",
},
{
"kyazdani42/nvim-web-devicons"
},
@ -47,9 +44,6 @@ return {
{
"nvim-treesitter/nvim-treesitter",
},
{
"catppuccin/nvim"
},
{
"vague2k/huez.nvim",
},
@ -74,26 +68,13 @@ return {
'folke/lazydev.nvim',
ft = "lua",
},
{
'Bekaboo/dropbar.nvim',
dependencies = {
'nvim-telescope/telescope-fzf-native.nvim',
build = 'make'
},
config = function()
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' })
end
},
{
"folke/noice.nvim",
event = "VeryLazy",
dependencies = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
"MunifTanjim/nui.nvim",
"rcarriga/nvim-notify",
},
}
},
{
"nvim-neo-tree/neo-tree.nvim",

View File

@ -1,9 +1,4 @@
return {
{
'nvimdev/dashboard-nvim',
event = 'VimEnter',
dependencies = { { 'nvim-tree/nvim-web-devicons' } }
},
{
"kaarmu/typst.vim",
lazy = true,
@ -13,7 +8,7 @@ return {
lazy = true,
},
{
"savq/melange-nvim"
'akinsho/toggleterm.nvim', version = "*", config = true
},
{
"mlaursen/vim-react-snippets",
@ -24,7 +19,14 @@ return {
lazy = true,
},
{
"lukas-reineke/indent-blankline.nvim"
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
},
{
"sainnhe/gruvbox-material",
},
{
"savq/melange-nvim"
},
{
"mxsdev/nvim-dap-vscode-js",
@ -42,9 +44,8 @@ return {
build = "npm install --legacy-peer-deps && npx gulp vsDebugServerBundle && mv dist out"
},
{
"mrcjkb/rustaceanvim",
version = '^4', -- Recommended
'mrcjkb/rustaceanvim',
version = '^5', -- Recommended
lazy = false, -- This plugin is already lazy
ft = { "rust" },
},
}
}