init
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
||||
|
||||
];
|
||||
|
||||
programs.neovim = {
|
||||
@@ -13,19 +13,24 @@ programs.neovim = {
|
||||
|
||||
programs.neovim.plugins = [
|
||||
pkgs.vimPlugins.lazy-nvim
|
||||
pkgs.vimPlugins.nvim-lspconfig
|
||||
];
|
||||
|
||||
home.file =
|
||||
lib.mkMerge [
|
||||
{
|
||||
".config/nvim/init.lua".source = ./init.lua;
|
||||
".config/nvim/init.lua".source = ./init.lua;
|
||||
".config/nvim/lua/config/lazy.lua".source = ./lua/config/lazy.lua;
|
||||
".config/nvim/lua/plugins/flutter.lua".source = ./lua/plugins/flutter.lua;
|
||||
# ".config/nvim/lua/plugins/flutter.lua".source = ./lua/plugins/flutter.lua;
|
||||
".config/nvim/lua/plugins/coq.lua".source = ./lua/plugins/coq.lua;
|
||||
".config/nvim/lua/plugins/treesitter.lua".source = ./lua/plugins/treesitter.lua;
|
||||
".config/nvim/lua/plugins/catppuccin.lua".source = ./lua/plugins/catppuccin.lua;
|
||||
".config/nvim/lua/plugins/telescope.lua".source = ./lua/plugins/telescope.lua;
|
||||
".config/nvim/lua/plugins/highlight-colors.lua".source = ./lua/plugins/highlight-colors.lua;
|
||||
".config/nvim/lua/plugins/comment.lua".source = ./lua/plugins/comment.lua;
|
||||
# ".config/nvim/lua/plugins/lazydev.lua".source = ./lua/plugins/lazydev.lua;
|
||||
".config/nvim/lua/plugins/lualine.lua".source = ./lua/plugins/lualine.lua;
|
||||
".config/nvim/lua/plugins/whichkey.lua".source = ./lua/plugins/whichkey.lua;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
36
packages/nvim/default.nix.backup
Normal file
36
packages/nvim/default.nix.backup
Normal file
@@ -0,0 +1,36 @@
|
||||
{ inputs, pkgs, lib, config, ...}:
|
||||
{
|
||||
imports = [ inputs.nvf.homeManagerModules.default ];
|
||||
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
# your settings need to go into the settings attribute set
|
||||
# most settings are documented in the appendix
|
||||
settings = {
|
||||
vim.viAlias = false;
|
||||
vim.vimAlias = true;
|
||||
|
||||
vim.theme = {
|
||||
enable = true;
|
||||
name = "catppuccin";
|
||||
style = "mocha";
|
||||
};
|
||||
|
||||
vim.statusline.lualine.enable = true;
|
||||
vim.binds.cheatsheet.enable = true;
|
||||
vim.binds.whichKey.enable = true;
|
||||
vim.projects.project-nvim.setupOpts.show_hidden = true;
|
||||
vim.telescope.enable = true;
|
||||
vim.autocomplete.blink-cmp.enable = true;
|
||||
|
||||
|
||||
vim.lsp = {
|
||||
enable = false;
|
||||
};
|
||||
vim.languages.clang.enable = true;
|
||||
vim.languages.rust.enable = true;
|
||||
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
31
packages/nvim/default.nix~
Normal file
31
packages/nvim/default.nix~
Normal file
@@ -0,0 +1,31 @@
|
||||
{ pkgs, config, lib,... }:
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
||||
];
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
vimAlias = true;
|
||||
};
|
||||
|
||||
|
||||
programs.neovim.plugins = [
|
||||
pkgs.vimPlugins.lazy-nvim
|
||||
];
|
||||
|
||||
home.file =
|
||||
lib.mkMerge [
|
||||
{
|
||||
".config/nvim/init.lua".source = ./init.lua;
|
||||
".config/nvim/lua/config/lazy.lua".source = ./lua/config/lazy.lua;
|
||||
".config/nvim/lua/plugins/flutter.lua".source = ./lua/plugins/flutter.lua;
|
||||
".config/nvim/lua/plugins/coq.lua".source = ./lua/plugins/coq.lua;
|
||||
".config/nvim/lua/plugins/treesitter.lua".source = ./lua/plugins/treesitter.lua;
|
||||
".config/nvim/lua/plugins/catppuccin.lua".source = ./lua/plugins/catppuccin.lua;
|
||||
".config/nvim/lua/plugins/telescope.lua".source = ./lua/plugins/telescope.lua;
|
||||
".config/nvim/lua/plugins/highlight-colors.lua".source = ./lua/plugins/highlight-colors.lua;
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -39,7 +39,7 @@ vim.keymap.set('i', 'jk', '<Esc>', opts)
|
||||
|
||||
-- Lazy
|
||||
require("config.lazy")
|
||||
require("flutter-tools").setup {} -- use defaults
|
||||
-- require("flutter-tools").setup {} -- use defaults
|
||||
require("catppuccin").setup({
|
||||
integrations = {
|
||||
cmp = false,
|
||||
@@ -54,8 +54,66 @@ require("catppuccin").setup({
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- css colors
|
||||
vim.opt.termguicolors = true
|
||||
require('nvim-highlight-colors').setup({})
|
||||
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
|
||||
|
||||
|
||||
|
||||
-- lsp
|
||||
local on_attach = function(_, bufnr)
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('coq').lsp_ensure_capabilities(capabilities)
|
||||
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-lsp" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
require('lspconfig').nil_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
require('lspconfig').rust_analyzer.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
113
packages/nvim/init.lua~
Normal file
113
packages/nvim/init.lua~
Normal file
@@ -0,0 +1,113 @@
|
||||
-- Tab
|
||||
vim.opt.tabstop = 2 -- number of visual spaces per TAB
|
||||
vim.opt.softtabstop = 2 -- number of spacesin tab when editing
|
||||
vim.opt.shiftwidth = 2 -- insert 4 spaces on a tab
|
||||
vim.opt.expandtab = true -- tabs are spaces, mainly because of python
|
||||
|
||||
-- UI config
|
||||
vim.opt.number = true -- show absolute number
|
||||
vim.opt.relativenumber = true -- add numbers to each line on the left side
|
||||
vim.opt.splitbelow = true -- open new vertical split bottom
|
||||
vim.opt.splitright = true -- open new horizontal splits right
|
||||
-- vim.opt.termguicolors = true -- enabl 24-bit RGB color in the TUI
|
||||
vim.opt.showmode = false -- we are experienced, wo don't need the "-- INSERT --" mode hint
|
||||
|
||||
-- Searching
|
||||
vim.opt.incsearch = true -- search as characters are entered
|
||||
vim.opt.hlsearch = false -- do not highlight matches
|
||||
vim.opt.ignorecase = true -- ignore case in searches by default
|
||||
vim.opt.smartcase = true -- but make it case sensitive if an uppercase is entered
|
||||
|
||||
-- -- Keybinds
|
||||
vim.keymap.set('n', '<C-h>', '<C-w>h', opts)
|
||||
vim.keymap.set('n', '<C-j>', '<C-w>j', opts)
|
||||
vim.keymap.set('n', '<C-k>', '<C-w>k', opts)
|
||||
vim.keymap.set('n', '<C-l>', '<C-w>l', opts)
|
||||
|
||||
-- Resize with arrows
|
||||
-- delta: 2 lines
|
||||
vim.keymap.set('n', '<C-Up>', ':resize -2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Down>', ':resize +2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Left>', ':vertical resize -2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Right>', ':vertical resize +2<CR>', opts)
|
||||
|
||||
-- Telescope binds
|
||||
vim.keymap.set("n", "<space>fb", ":Telescope file_browser<CR>")
|
||||
|
||||
|
||||
vim.keymap.set('i', 'jk', '<Esc>', opts)
|
||||
|
||||
-- Lazy
|
||||
require("config.lazy")
|
||||
-- require("flutter-tools").setup {} -- use defaults
|
||||
require("catppuccin").setup({
|
||||
integrations = {
|
||||
cmp = false,
|
||||
gitsigns = true,
|
||||
nvimtree = true,
|
||||
treesitter = true,
|
||||
notify = false,
|
||||
mini = {
|
||||
enabled = false,
|
||||
indentscope_color = "",
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
-- css colors
|
||||
vim.opt.termguicolors = true
|
||||
require('nvim-highlight-colors').setup({})
|
||||
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
|
||||
|
||||
|
||||
|
||||
-- lsp
|
||||
local on_attach = function(_, bufnr)
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('coq').lsp_ensure_capabilities(capabilities)
|
||||
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-lsp" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
require('lspconfig').nil_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
6
packages/nvim/lua/plugins/comment.lua
Normal file
6
packages/nvim/lua/plugins/comment.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
'numToStr/Comment.nvim',
|
||||
opts = {
|
||||
-- add any options here
|
||||
}
|
||||
}
|
||||
0
packages/nvim/lua/plugins/comment.lua~
Normal file
0
packages/nvim/lua/plugins/comment.lua~
Normal file
33
packages/nvim/lua/plugins/lazydev.lua
Normal file
33
packages/nvim/lua/plugins/lazydev.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
return {
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua", -- only load on lua files
|
||||
opts = {
|
||||
library = {
|
||||
-- See the configuration section for more details
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
{ -- optional blink completion source for require statements and module annotations
|
||||
"saghen/blink.cmp",
|
||||
build = 'cargo +nightly build --release',
|
||||
|
||||
opts = {
|
||||
sources = {
|
||||
-- add lazydev to your completion providers
|
||||
default = { "lazydev", "lsp", "path", "snippets", "buffer" },
|
||||
providers = {
|
||||
lazydev = {
|
||||
name = "LazyDev",
|
||||
module = "lazydev.integrations.blink",
|
||||
-- make lazydev completions top priority (see `:h blink.cmp`)
|
||||
score_offset = 100,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
-- { "folke/neodev.nvim", enabled = false }, -- make sure to uninstall or disable neodev.nvim
|
||||
}
|
||||
0
packages/nvim/lua/plugins/lazydev.lua~
Normal file
0
packages/nvim/lua/plugins/lazydev.lua~
Normal file
53
packages/nvim/lua/plugins/lsp.lua
Normal file
53
packages/nvim/lua/plugins/lsp.lua
Normal file
@@ -0,0 +1,53 @@
|
||||
local on_attach = function(_, bufnr)
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('coq').lsp_capabilities(capabilities) -- COQ spezifische Fähigkeiten
|
||||
|
||||
require('neodev').setup()
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-language-server" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
require('lspconfig').nil_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
require('lspconfig').rust_analyzer.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
13
packages/nvim/lua/plugins/lsp.lua~
Normal file
13
packages/nvim/lua/plugins/lsp.lua~
Normal file
@@ -0,0 +1,13 @@
|
||||
return
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = function()
|
||||
local keys = require("lazyvim.plugins.lsp.keymaps").get()
|
||||
-- change a keymap
|
||||
keys[#keys + 1] = { "K", "<cmd>echo 'hello'<cr>" }
|
||||
-- disable a keymap
|
||||
keys[#keys + 1] = { "K", false }
|
||||
-- add a keymap
|
||||
keys[#keys + 1] = { "H", "<cmd>echo 'hello'<cr>" }
|
||||
end,
|
||||
}
|
||||
5
packages/nvim/lua/plugins/lualine.lua
Normal file
5
packages/nvim/lua/plugins/lualine.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
||||
|
||||
}
|
||||
0
packages/nvim/lua/plugins/lualine.lua~
Normal file
0
packages/nvim/lua/plugins/lualine.lua~
Normal file
18
packages/nvim/lua/plugins/whichkey.lua
Normal file
18
packages/nvim/lua/plugins/whichkey.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
}
|
||||
0
packages/nvim/lua/plugins/whichkey.lua~
Normal file
0
packages/nvim/lua/plugins/whichkey.lua~
Normal file
35
packages/nvim/nvim/config/lazy.lua
Normal file
35
packages/nvim/nvim/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 = true },
|
||||
})
|
||||
18
packages/nvim/nvim/options.lua
Normal file
18
packages/nvim/nvim/options.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
vim.g.mapleader = ' '
|
||||
vim.g.maplocalleader = ' '
|
||||
|
||||
vim.o.clipboard = 'unnamedplus'
|
||||
|
||||
vim.o.number = true
|
||||
-- vim.o.relativenumber = true
|
||||
|
||||
vim.o.signcolumn = 'yes'
|
||||
|
||||
vim.o.tabstop = 4
|
||||
vim.o.shiftwidth = 4
|
||||
|
||||
vim.o.updatetime = 300
|
||||
|
||||
vim.o.termguicolors = true
|
||||
|
||||
vim.o.mouse = 'a'
|
||||
15
packages/nvim/nvim/plugins/#treesitter.lua#
Normal file
15
packages/nvim/nvim/plugins/#treesitter.lua#
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config= function ()
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "c", "lua", "html", "dart" },
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end
|
||||
}
|
||||
1
packages/nvim/nvim/plugins/catppuccin.lua
Normal file
1
packages/nvim/nvim/plugins/catppuccin.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "catppuccin/nvim", name = "catppuccin", priority = 1000 }
|
||||
46
packages/nvim/nvim/plugins/cmp.lua
Normal file
46
packages/nvim/nvim/plugins/cmp.lua
Normal file
@@ -0,0 +1,46 @@
|
||||
local cmp = require('cmp')
|
||||
local luasnip = require('luasnip')
|
||||
|
||||
require('luasnip.loaders.from_vscode').lazy_load()
|
||||
luasnip.config.setup {}
|
||||
|
||||
cmp.setup {
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert {
|
||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete {},
|
||||
['<CR>'] = cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = true,
|
||||
},
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_locally_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
},
|
||||
sources = {
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
},
|
||||
}
|
||||
30
packages/nvim/nvim/plugins/coq.lua
Normal file
30
packages/nvim/nvim/plugins/coq.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
return {
|
||||
"neovim/nvim-lspconfig", -- REQUIRED: for native Neovim LSP integration
|
||||
lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup
|
||||
dependencies = {
|
||||
-- main one
|
||||
{ "ms-jpq/coq_nvim", branch = "coq" },
|
||||
|
||||
-- 9000+ Snippets
|
||||
{ "ms-jpq/coq.artifacts", branch = "artifacts" },
|
||||
|
||||
-- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty
|
||||
-- Need to **configure separately**
|
||||
{ 'ms-jpq/coq.thirdparty', branch = "3p" }
|
||||
-- - shell repl
|
||||
-- - nvim lua api
|
||||
-- - scientific calculator
|
||||
-- - comment banner
|
||||
-- - etc
|
||||
},
|
||||
init = function()
|
||||
vim.g.coq_settings = {
|
||||
auto_start = true, -- if you want to start COQ at startup
|
||||
-- Your COQ settings here
|
||||
}
|
||||
end,
|
||||
config = function()
|
||||
-- Your LSP settings here
|
||||
end,
|
||||
}
|
||||
10
packages/nvim/nvim/plugins/flutter.lua
Normal file
10
packages/nvim/nvim/plugins/flutter.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
|
||||
'nvim-flutter/flutter-tools.nvim',
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'stevearc/dressing.nvim', -- optional for vim.ui.select
|
||||
},
|
||||
config = true,
|
||||
}
|
||||
1
packages/nvim/nvim/plugins/highlight-colors.lua
Normal file
1
packages/nvim/nvim/plugins/highlight-colors.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "brenoprata10/nvim-highlight-colors", name = "highlight-colotrs" }
|
||||
60
packages/nvim/nvim/plugins/lazy.lua
Normal file
60
packages/nvim/nvim/plugins/lazy.lua
Normal file
@@ -0,0 +1,60 @@
|
||||
-- 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 = {
|
||||
-- add your plugins here
|
||||
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
||||
},
|
||||
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "catppuccin" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
})
|
||||
34
packages/nvim/nvim/plugins/lazy.lua~
Normal file
34
packages/nvim/nvim/plugins/lazy.lua~
Normal file
@@ -0,0 +1,34 @@
|
||||
-- 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 = {
|
||||
-- add your plugins here
|
||||
},
|
||||
-- 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 = true },
|
||||
})
|
||||
48
packages/nvim/nvim/plugins/lsp.lua
Normal file
48
packages/nvim/nvim/plugins/lsp.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
local on_attach = function(_, bufnr)
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
||||
|
||||
require('neodev').setup()
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-language-server" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
require('lspconfig').nil_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
48
packages/nvim/nvim/plugins/lsp.lua~
Normal file
48
packages/nvim/nvim/plugins/lsp.lua~
Normal file
@@ -0,0 +1,48 @@
|
||||
local on_attach = function(_, bufnr)
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
||||
|
||||
require('neodev').setup()
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-language-server" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
require('lspconfig').rnix.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
41
packages/nvim/nvim/plugins/lualine.lua
Normal file
41
packages/nvim/nvim/plugins/lualine.lua
Normal file
@@ -0,0 +1,41 @@
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = 'catppuccin',
|
||||
component_separators = { left = '', right = ''},
|
||||
section_separators = { left = '', right = ''},
|
||||
disabled_filetypes = {
|
||||
statusline = {},
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = true,
|
||||
always_show_tabline = true,
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 100,
|
||||
tabline = 100,
|
||||
winbar = 100,
|
||||
}
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {'mode'},
|
||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
||||
lualine_y = {'progress'},
|
||||
lualine_z = {'location'}
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'location'},
|
||||
lualine_y = {},
|
||||
lualine_z = {}
|
||||
},
|
||||
tabline = {},
|
||||
winbar = {},
|
||||
inactive_winbar = {},
|
||||
extensions = {}
|
||||
}
|
||||
5
packages/nvim/nvim/plugins/lualine.lua~
Normal file
5
packages/nvim/nvim/plugins/lualine.lua~
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
||||
}}
|
||||
8
packages/nvim/nvim/plugins/other.lua
Normal file
8
packages/nvim/nvim/plugins/other.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Lualine
|
||||
require("lualine").setup({
|
||||
icons_enabled = true,
|
||||
theme = 'catppuccin',
|
||||
})
|
||||
|
||||
-- Comment
|
||||
require("Comment").setup()
|
||||
7
packages/nvim/nvim/plugins/other.lua~
Normal file
7
packages/nvim/nvim/plugins/other.lua~
Normal file
@@ -0,0 +1,7 @@
|
||||
-- Lualine
|
||||
require("lualine").setup({
|
||||
icons_enabled = true,
|
||||
})
|
||||
|
||||
-- Comment
|
||||
require("Comment").setup()
|
||||
13
packages/nvim/nvim/plugins/telescope.lua
Normal file
13
packages/nvim/nvim/plugins/telescope.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
require('telescope').setup({
|
||||
extensions = {
|
||||
fzf = {
|
||||
fuzzy = true, -- false will only do exact matching
|
||||
override_generic_sorter = true, -- override the generic sorter
|
||||
override_file_sorter = true, -- override the file sorter
|
||||
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
|
||||
-- the default case_mode is "smart_case"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
require('telescope').load_extension('fzf')
|
||||
4
packages/nvim/nvim/plugins/telescope.lua~
Normal file
4
packages/nvim/nvim/plugins/telescope.lua~
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
"nvim-telescope/telescope-file-browser.nvim",
|
||||
dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" }
|
||||
}
|
||||
15
packages/nvim/nvim/plugins/treesitter.lua
Normal file
15
packages/nvim/nvim/plugins/treesitter.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function ()
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "c", "lua", "html", "dart" },
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end
|
||||
}
|
||||
Reference in New Issue
Block a user