ref(nix): drop neovim legacy support

This commit is contained in:
Léana 江 2024-01-19 20:20:19 +01:00 committed by Léana 江
parent 83bdeb6977
commit 8e78bef74b
30 changed files with 1 additions and 1 deletions

View file

@ -1,86 +0,0 @@
local map = vim.keymap.set
local autocmd = vim.api.nvim_create_autocmd
local usercmd = vim.api.nvim_create_user_command
vim.filetype.add { extension = { typ = "typst" } }
vim.filetype.add { extension = { skel = "skel", sk = "skel" } }
vim.filetype.add { extension = { mlw = "why3" } }
autocmd("TextYankPost", {
callback = function() vim.highlight.on_yank() end,
})
autocmd("FileType", {
pattern = { "markdown", "tex", "typst" },
callback = function()
vim.opt_local.shiftwidth = 2
vim.opt_local.tabstop = 2
vim.opt_local.textwidth = 80
end,
})
autocmd("Filetype", {
pattern = "skel",
callback = function()
vim.opt_local.commentstring = "(* %s *)"
map("n", "<leader>f",
function()
vim.cmd ":w"
vim.cmd [[silent exec "!necroprint % -o %"]]
vim.cmd ":e"
end,
{ buffer = true })
end,
})
autocmd("Filetype", {
pattern = "why3",
callback = function()
vim.opt_local.commentstring = "(* %s *)"
vim.opt_local.shiftwidth = 2
vim.opt_local.tabstop = 2
vim.opt_local.expandtab = true
end,
})
-- Using `sudoedit` would create gibberish extension names,
-- detection using extension would hence not work.
autocmd("BufEnter", {
pattern = "*Caddyfile*",
callback = function()
vim.opt_local.filetype = "Caddy"
vim.opt_local.commentstring = "# %s"
end,
})
-- Update leading indent guide
-- source: https://github.com/thaerkh/vim-indentguides
autocmd("OptionSet", {
pattern = "shiftwidth",
callback = function()
if vim.o.expandtab then
-- leadmultispace is shiftwidth agnostic
local c = ""
for _ = c:len(), vim.o.shiftwidth + 1, 1 do c = c .. " " end
vim.opt.listchars:append { leadmultispace = c }
end
end,
})
-- Retab file with specified shiftwidth
usercmd("Retab", function(opts)
if #opts.fargs ~= 2 then
print "should have two arguments"
return
end
local src = tonumber(opts.fargs[1])
local dst = tonumber(opts.fargs[2])
vim.opt.shiftwidth = src
vim.opt.tabstop = src
vim.opt.expandtab = false
vim.cmd "%retab!"
vim.opt.shiftwidth = dst
vim.opt.tabstop = dst
vim.opt.expandtab = true
vim.cmd "%retab!"
end, { nargs = "+" })

View file

@ -1,125 +0,0 @@
vim.g.mapleader = " "
vim.g.maplocalleader = " "
local map = vim.keymap.set
local unmap = vim.keymap.del
local autocmd = vim.api.nvim_create_autocmd
-- Move
map("v", "J", ":m '>+1<CR>gv=gv")
map("v", "K", ":m '<-2<CR>gv=gv")
-- Centered motions
map("n", "<C-d>", "<C-d>zz")
map("n", "<C-u>", "<C-u>zz")
map("n", "n", "nzzzv")
map("n", "N", "Nzzzv")
map("n", "J", "mzJ`z")
-- Better clipboard
map({ "n", "x", "v" }, "<leader>d", '"_d')
map({ "n", "x", "v" }, "<leader>c", '"_dc')
map({ "n", "x", "v" }, "<leader>p", '"_dP')
map({ "n", "x", "v" }, "<leader>y", '"+y')
-- Linewrap jk
-- Only use gj et al. when needed
local function linewrap_jk_on()
map("n", "j", "gj")
map("n", "k", "gk")
map("n", "<Down>", "g<Down>")
map("n", "<Up>", "g<Up>")
end
local function linewrap_jk_off()
unmap("n", "j")
unmap("n", "k")
unmap("n", "<Down>")
unmap("n", "<Up>")
end
map("n", "<leader>w", function()
vim.o.wrap = not vim.o.wrap
if vim.o.wrap then linewrap_jk_on() else linewrap_jk_off() end
end)
-- Replace selected token
map("v", "<leader>r", [["ry:%s/\(<C-r>r\)//g<Left><Left>]])
map("n", "<leader>pv", function() vim.cmd "Oil" end) -- Project View
map("n", "<leader>nf", function() vim.cmd "enew" end) -- New File
map("n", "<leader>so", function() vim.cmd "so %" end) -- Source buffer
map("c", "#capl", [[\(.\{-}\)]]) -- helpers in regex
map("c", "#capm", [[\(.*\)]])
map("n", "<leader>+x", function() vim.cmd "!chmod +x %" end) -- Permission
map("n", "<leader>-x", function() vim.cmd "!chmod -x %" end)
map("n", "<leader>hg", function() vim.cmd "Inspect" end) -- Highlight Group
map("n", "Q", "<nop>") -- *do not* repeat the last recorded register [count] times.
-- Diagnostics
map("n", "<leader>e", vim.diagnostic.open_float)
map("n", "<leader>pe", vim.diagnostic.goto_prev)
map("n", "<leader>ne", vim.diagnostic.goto_next)
map("t", "<Leader><ESC>", "<C-\\><C-n>")
-- Resize window using shift + arrow keys
-- Credit: github.com/GrizzlT
map("n", "<S-Up>", "<cmd>resize +2<cr>")
map("n", "<S-Down>", "<cmd>resize -2<cr>")
map("n", "<S-Left>", "<cmd>vertical resize -2<cr>")
map("n", "<S-Right>", "<cmd>vertical resize +2<cr>")
-------------
-- Plugins --
-------------
-- Tabular
map("n", "<leader>ta", function() vim.cmd "Tabularize /=" end)
map("n", "<leader>tc", function() vim.cmd "Tabularize /:" end)
map("n", "<leader>tC", function() vim.cmd "Tabularize trailing_c_comments" end)
-- Twilight
map("n", "<leader>tw", function() vim.cmd "Twilight" end)
-- Gitsigns
map("n", "<leader>gl",
function()
vim.cmd "Gitsigns toggle_numhl"
vim.cmd "Gitsigns toggle_signs"
end
)
-- Fugitive
map("n", "<leader>gP", function() vim.cmd "G push" end)
map("n", "<leader>gp", function() vim.cmd "G pull" end)
map("n", "<leader><space>", ":Git<CR>5<Down>")
map("n", "<leader>gu", ":diffget //2<CR>")
map("n", "<leader>gh", ":diffget //3<CR>")
autocmd("FileType", {
pattern = "fugitive",
callback = function() map("n", "<leader><space>", ":q<CR>", { buffer = true }) end,
})
map("n", "<leader>gb", ":Git blame<CR>")
autocmd("FileType", {
pattern = "fugitiveblame",
callback = function() map("n", "<leader>gb", ":q<CR>", { buffer = true }) end,
})
-- NoNeckPain
map("n", "<leader>z", ":NoNeckPain<CR>")
-- Todo-Comments
map("n", "<leader>td", function() vim.cmd "TodoTelescope" end)
-- Undotree
map("n", "<leader>u", function()
vim.cmd "UndotreeToggle"
vim.cmd "UndotreeFocus"
end)
autocmd("FileType", {
pattern = "undotree",
callback = function() map("n", "<leader>gb", ":q<CR>", { buffer = true }) end,
})
-- color-picker
map("n", "<C-c>", function() vim.cmd "CccPick" end, { silent = true })

View file

@ -1,47 +0,0 @@
local opt = vim.opt
opt.hlsearch = false
opt.incsearch = true
opt.number = true
opt.relativenumber = true
opt.cursorline = true
opt.signcolumn = "yes"
opt.tabstop = 4
opt.expandtab = true
opt.shiftwidth = 4
opt.wrap = false -- Slows the editor
opt.linebreak = true
opt.breakindent = true
opt.filetype = "on"
opt.swapfile = false
opt.backup = false
opt.undofile = true
opt.termguicolors = true
opt.mouse = "a"
opt.ignorecase = true
opt.smartcase = true
opt.autoindent = true
opt.smartindent = true
opt.scrolloff = 3
opt.colorcolumn = "80"
opt.foldlevel = 99
opt.foldlevelstart = 99
opt.foldenable = true
opt.winbar = "%{%v:lua.require'winbar'.eval()%}"
opt.showmode = false
opt.listchars = { tab = "", trail = "" }
opt.list = true
vim.g.netrw_banner = 0

View file

@ -1,47 +0,0 @@
M = {}
M.Map = function(tbl, f)
local t = {}
for k, v in pairs(tbl) do
t[k] = f(v)
end
return t
end
M.Foreach = function(tbl, f)
for k, v in pairs(tbl) do
f(k, v)
end
end
M.Contains = function(tbl, elem)
for _, v in pairs(tbl) do
if v == elem then
return true
end
end
return false
end
M.Filter = function(tbl, pred)
local t = {}
for k, v in pairs(tbl) do
if pred(v) then
t[k] = v
end
end
return t
end
M.Concat = function(tbl1, tbl2)
local t = {}
for k, v in pairs(tbl1) do
t[k] = v
end
for k, v in pairs(tbl2) do
t[k] = v
end
return t
end
return M

View file

@ -1,36 +0,0 @@
local M = {}
local api = vim.api
local fn = vim.fn
api.nvim_set_hl(0, "WinBar", { fg = "#dedede" })
api.nvim_set_hl(0, "WinBarPath", { bg = "#dedede" })
api.nvim_set_hl(0, "WinBarModified", { bg = "#dedede", bold = true })
function M.eval()
local buffer = api.nvim_win_get_buf(0)
local bufname = fn.bufname(buffer)
local modified = ""
local readonly = ""
if vim.bo[buffer].readonly then
readonly = "[RO] "
end
if vim.bo[buffer].modified then
modified = "[+] "
end
bufname = fn.fnamemodify(bufname, ":p:~")
return "%="
.. "%#WinBarModified#"
.. readonly
.. modified
.. "%*"
.. "%#WinBarPath#"
.. bufname
.. "%*"
end
return M