diff --git a/neovim/default.nix b/neovim/default.nix index d138ddf..1a79877 100644 --- a/neovim/default.nix +++ b/neovim/default.nix @@ -85,12 +85,19 @@ lsp_lines-nvim lsp-inlayhints-nvim + # Copilot + copilot-lua + copilot-cmp + # debugging nvim-dap nvim-dap-ui # vim-wiki vimwiki + + # firenvim + firenvim ]; withNodeJs = true; @@ -137,8 +144,12 @@ require("local_toggleterm") require("local_notify") require("local_comment") - require("local_lualine") - require("local_tabline") + + if vim.g.started_by_firenvim ~= true then + require("local_lualine") + require("local_tabline") + end + require("local_indent-blankline") require("local_gitsigns") require("local_luasnip") @@ -158,6 +169,8 @@ require("nvim-autopairs").setup({}) require("neogen").setup({ snippet_engine = "luasnip" }) + + require("local_firenvim") ''; }; }; @@ -186,4 +199,5 @@ home.file.".config/nvim/lua/local_dap.lua".source = ./dap.lua; home.file.".config/nvim/lua/local_illuminate.lua".source = ./illuminate.lua; home.file.".config/nvim/lua/local_wilder.lua".source = ./wilder.lua; + home.file.".config/nvim/lua/local_firenvim.lua".source = ./firenvim.lua; } diff --git a/neovim/firenvim.lua b/neovim/firenvim.lua new file mode 100644 index 0000000..6f2094d --- /dev/null +++ b/neovim/firenvim.lua @@ -0,0 +1,25 @@ +if vim.g.started_by_firenvim ~= true then + return +end + +vim.api.nvim_create_autocmd('UIEnter', { + callback = function() + local client = vim.api.nvim_get_chan_info(vim.v.event.chan).client + if client ~= nil and client.name == "Firenvim" then + vim.o.laststatus = 0 + end + end +}) + +vim.api.nvim_create_autocmd({ 'TextChanged', 'TextChangedI' }, { + callback = function() + if vim.g.timer_started == true then + return + end + vim.g.timer_started = true + vim.fn.timer_start(500, function() + vim.g.timer_started = false + vim.cmd('silent write') + end) + end +}) diff --git a/neovim/nvim-cmp.lua b/neovim/nvim-cmp.lua index 098ce04..eddcdef 100644 --- a/neovim/nvim-cmp.lua +++ b/neovim/nvim-cmp.lua @@ -7,6 +7,11 @@ end local cmp = require("cmp") local luasnip = require("luasnip") +local copilot_lua = require("copilot") +local copilot_cmp = require("copilot_cmp") + +copilot_lua.setup({}) +copilot_cmp.setup({}) cmp.setup({ snippet = { @@ -15,6 +20,7 @@ cmp.setup({ end }, sources = cmp.config.sources({ + { name = "copilot" }, { name = "nvim_lsp" }, { name = "nvim_lsp_signature_help" }, { name = "luasnip" },