Put all files in a dir.
This commit is contained in:
0
home/dot_config/lvim/after/.keep
Normal file
0
home/dot_config/lvim/after/.keep
Normal file
15
home/dot_config/lvim/after/indent/arduino.vim
Normal file
15
home/dot_config/lvim/after/indent/arduino.vim
Normal file
@@ -0,0 +1,15 @@
|
||||
" Vim indent file
|
||||
" Language: Arduino
|
||||
" Maintainer: Kevin Sjöberg <kev.sjoberg@gmail.com>
|
||||
" Last Change: 2014 Feb 28
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
" C++ indenting is built-in, thus this is very simple
|
||||
setlocal cindent
|
||||
|
||||
let b:undo_indent = "setl cin<"
|
||||
214
home/dot_config/lvim/config.lua
Normal file
214
home/dot_config/lvim/config.lua
Normal file
@@ -0,0 +1,214 @@
|
||||
--[[--
|
||||
File : /home/jeff/.config/lvim/config.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 03.08.2023 16:16:54
|
||||
Last Modified Date: 10.08.2023 00:57:51
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
|
||||
---
|
||||
|
||||
lvim is the global options object
|
||||
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
-- general
|
||||
--
|
||||
|
||||
-- lvim config
|
||||
lvim.log.level = "warn"
|
||||
lvim.format_on_save.enabled = true
|
||||
lvim.format_on_save.pattern = { "*.asy", "*.py", ".toml" }
|
||||
lvim.colorscheme = "onedark_dark"
|
||||
lvim.background = "dark"
|
||||
lvim.transparent_window = true
|
||||
-- to disable icons and use a minimalist setup, uncomment the following
|
||||
-- lvim.use_icons = false
|
||||
|
||||
-- core plugins config
|
||||
-- local components = require("lvim.core.lualine.components")
|
||||
lvim.builtin.lualine.sections.lualine_a = { "mode" }
|
||||
-- lvim.builtin.lualine.sections.lualine_y = {
|
||||
-- -- components.spaces,
|
||||
-- -- components.location
|
||||
-- }
|
||||
lvim.builtin.alpha.active = true
|
||||
lvim.builtin.alpha.mode = "dashboard"
|
||||
lvim.builtin.luasnip.enable_autosnippets = true
|
||||
lvim.builtin.nvimtree.active = false
|
||||
lvim.builtin.nvimtree.setup.view.side = "left"
|
||||
lvim.builtin.nvimtree.setup.renderer.icons.show.git = false
|
||||
lvim.builtin.terminal.active = true
|
||||
|
||||
|
||||
|
||||
-- theme settings
|
||||
--
|
||||
|
||||
-- lvim.builtin.theme.options.dim_inactive = true
|
||||
-- lvim.builtin.theme.options.style = "storm"
|
||||
|
||||
|
||||
|
||||
-- variables
|
||||
--
|
||||
local home = vim.fn.expand("$HOME")
|
||||
|
||||
|
||||
|
||||
-- ==============================================
|
||||
-- Trying to make a modular configuration
|
||||
-- plugins
|
||||
--
|
||||
require("user.plugins").setup()
|
||||
|
||||
|
||||
|
||||
-- functions
|
||||
--
|
||||
require("user.functions")
|
||||
|
||||
|
||||
|
||||
-- keybindings
|
||||
--
|
||||
require("user.keybindings").setup()
|
||||
--
|
||||
|
||||
|
||||
|
||||
-- which_key
|
||||
--
|
||||
require("user.whichkey").setup()
|
||||
--
|
||||
-- ==============================================
|
||||
|
||||
|
||||
|
||||
-- Treesitter settings
|
||||
--
|
||||
|
||||
-- if you don't want all the parsers change this to a table of the ones you want
|
||||
lvim.builtin.treesitter.ensure_installed = {
|
||||
"bash",
|
||||
"c",
|
||||
"java",
|
||||
"javascript",
|
||||
"json",
|
||||
"julia",
|
||||
"latex",
|
||||
"lua",
|
||||
"perl",
|
||||
"python",
|
||||
"typescript",
|
||||
"tsx",
|
||||
"css",
|
||||
"ruby",
|
||||
"rust",
|
||||
"toml",
|
||||
"yaml",
|
||||
}
|
||||
|
||||
lvim.builtin.treesitter.ignore_install = { "comment" }
|
||||
lvim.builtin.treesitter.highlight.enable = true
|
||||
lvim.builtin.treesitter.highlight.disable( "latex" )
|
||||
lvim.builtin.treesitter.rainbow.enable = true
|
||||
|
||||
|
||||
|
||||
-- LSP settings
|
||||
--
|
||||
|
||||
require("user.lsp").setup()
|
||||
|
||||
|
||||
|
||||
-- Setup formatters and linters
|
||||
--
|
||||
-- Currently started with ftplugin for:
|
||||
-- latex
|
||||
-- python
|
||||
|
||||
|
||||
|
||||
-- Debug adapters
|
||||
--
|
||||
|
||||
require("user.dap").setup()
|
||||
|
||||
|
||||
|
||||
-- Tests framework
|
||||
--
|
||||
|
||||
require("user.tests").setup()
|
||||
|
||||
|
||||
|
||||
-- Telescope plugins load
|
||||
--
|
||||
|
||||
lvim.builtin.telescope.on_config_done = function(telescope)
|
||||
-- pcall(telescope.load_extension, "project")
|
||||
-- any other extensions loading
|
||||
end
|
||||
|
||||
|
||||
|
||||
-- Autocommands (https://neovim.io/doc/user/autocmd.html)
|
||||
--
|
||||
|
||||
-- minimap view
|
||||
-- lvim.autocommands = {
|
||||
-- {
|
||||
-- {"BufEnter", "Filetype"},
|
||||
-- {
|
||||
-- desc = "Open mini.map and exclude some filetypes",
|
||||
-- pattern = { "*" },
|
||||
-- callback = function()
|
||||
-- local exclude_ft = {
|
||||
-- "qf",
|
||||
-- "NvimTree",
|
||||
-- "toggleterm",
|
||||
-- "TelescopePrompt",
|
||||
-- "alpha",
|
||||
-- "netrw",
|
||||
-- }
|
||||
|
||||
-- local map = require('mini.map')
|
||||
-- if vim.tbl_contains(exclude_ft, vim.o.filetype) then
|
||||
-- vim.b.minimap_disable = true
|
||||
-- map.close()
|
||||
-- elseif vim.o.buftype == "" then
|
||||
-- map.open()
|
||||
-- end
|
||||
-- end,
|
||||
-- },
|
||||
-- },
|
||||
-- }
|
||||
|
||||
-- wrap mode for json files
|
||||
vim.api.nvim_create_autocmd("BufEnter", {
|
||||
pattern = { "*.json", "*.jsonc" },
|
||||
-- enable wrap mode for json files only
|
||||
command = "setlocal wrap",
|
||||
})
|
||||
|
||||
-- bash highlight for zsh files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "zsh",
|
||||
callback = function()
|
||||
-- let treesitter use bash highlight for zsh files as well
|
||||
require("nvim-treesitter.highlight").attach(0, "bash")
|
||||
end,
|
||||
})
|
||||
|
||||
-- -- latex cmp
|
||||
-- vim.api.nvim_create_autocmd("FileType", {
|
||||
-- group = vim.api.nvim_create_augroup("LaTeXGroup", { clear = true }),
|
||||
-- pattern = "tex",
|
||||
-- callback = function()
|
||||
-- require("user.cmp")
|
||||
-- end,
|
||||
-- })
|
||||
0
home/dot_config/lvim/ftdetect/.keep
Normal file
0
home/dot_config/lvim/ftdetect/.keep
Normal file
1
home/dot_config/lvim/ftdetect/arduino.vim
Normal file
1
home/dot_config/lvim/ftdetect/arduino.vim
Normal file
@@ -0,0 +1 @@
|
||||
au BufRead,BufNewFile *.ino,*.pde set filetype=arduino
|
||||
3
home/dot_config/lvim/ftdetect/asy.vim
Normal file
3
home/dot_config/lvim/ftdetect/asy.vim
Normal file
@@ -0,0 +1,3 @@
|
||||
" Vim filetype detection file
|
||||
" Language: Asymptote
|
||||
au BufNewFile,BufRead *.asy setfiletype asy
|
||||
0
home/dot_config/lvim/ftplugin/.keep
Normal file
0
home/dot_config/lvim/ftplugin/.keep
Normal file
49
home/dot_config/lvim/ftplugin/python.lua
Normal file
49
home/dot_config/lvim/ftplugin/python.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/ftplugin/python.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 06.08.2023 12:46:43
|
||||
Last Modified Date: 08.08.2023 19:23:05
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]
|
||||
--
|
||||
|
||||
|
||||
|
||||
-- Setup debug adapter
|
||||
--
|
||||
lvim.builtin.dap.active = true
|
||||
local mason_path = vim.fn.glob(vim.fn.stdpath "data" .. "/mason/")
|
||||
pcall(function()
|
||||
require("dap-python").setup(mason_path .. "packages/debugpy/venv/bin/python")
|
||||
end)
|
||||
|
||||
-- Setup testing
|
||||
--
|
||||
require("neotest").setup({
|
||||
adapters = {
|
||||
require("neotest-python")({
|
||||
-- Extra arguments for nvim-dap configuration
|
||||
-- See https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for values
|
||||
dap = {
|
||||
justMyCode = false,
|
||||
console = "integratedTerminal",
|
||||
},
|
||||
args = { "--log-level", "DEBUG", "--quiet" },
|
||||
runner = "pytest",
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
-- Linters
|
||||
--
|
||||
local linters = require("lvim.lsp.null-ls.linters")
|
||||
linters.setup({
|
||||
{ command = "flake8", filetypes = { "python" } },
|
||||
})
|
||||
|
||||
-- Formatters
|
||||
--
|
||||
local formatters = require("lvim.lsp.null-ls.formatters")
|
||||
formatters.setup({
|
||||
{ name = "black" },
|
||||
})
|
||||
76
home/dot_config/lvim/ftplugin/tex.lua
Normal file
76
home/dot_config/lvim/ftplugin/tex.lua
Normal file
@@ -0,0 +1,76 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/ftplugin/tex.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 06.08.2023 11:07:22
|
||||
Last Modified Date: 15.08.2023 00:46:47
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]
|
||||
--
|
||||
|
||||
|
||||
|
||||
local opts = {}
|
||||
|
||||
local status_ok, whk = pcall(require, "which-key")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
-- Shortcuts
|
||||
--
|
||||
-- old way making the LaTeX menu appears with the LSP and Lunar one
|
||||
-- whk.register {
|
||||
-- ["<leader>L"] = {
|
||||
-- name = "LSP, Lunar, LaTeX", -- we edit the title of the L shortcut
|
||||
-- }
|
||||
-- }
|
||||
|
||||
vim.g.maplocalleader = " " -- we define a leader available only from tex files
|
||||
|
||||
whk.register {
|
||||
["<localleader>l"] = {} -- empties the default VimTeX menu mapping
|
||||
}
|
||||
|
||||
whk.register {
|
||||
["<localleader>"] = { -- to set a completly new using only the localleader key
|
||||
name = " LaTeX",
|
||||
c = { "<cmd>VimtexCompileSS<CR>", "Single-shot compile project" },
|
||||
C = {
|
||||
name = " Compile",
|
||||
s = { "<cmd>VimtexStop<CR>", "Stop compile" },
|
||||
c = { "<cmd>VimtexCompileSelected<CR>", "Compile Selected" },
|
||||
},
|
||||
d = { "<cmd>VimtexDocPackage<CR>", "Open Doc for package" },
|
||||
e = { "<cmd>VimtexErrors<CR>", "Look at the errors" },
|
||||
m = { "<cmd>VimtexToggleMain<CR>", "Toggle Main" },
|
||||
o = { "<cmd>VimtexView<CR>", "View pdf" },
|
||||
s = { "<cmd>VimtexStatus<CR>", "Look at the status" },
|
||||
T = {
|
||||
name = " TOC",
|
||||
o = { "<cmd>VimtexTocOpen<CR>", "Open TOC" },
|
||||
t = { "<cmd>VimtexTocToggle<CR>", "Toggle TOC" },
|
||||
},
|
||||
V = {
|
||||
name = " VimTeX",
|
||||
c = { "<CMD>edit /home/jeff/.config/lvim/ftplugin/tex.lua<CR>", "Edit configuration" },
|
||||
s = { "<CMD>edit /home/jeff/.config/lvim/luasnippets/tex.lua<CR>", "Edit snippets" },
|
||||
i = { "<cmd>VimtexInfo<CR>", "Vimtex Info" },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
-- Linters
|
||||
--
|
||||
local linters = require("lvim.lsp.null-ls.linters")
|
||||
linters.setup({
|
||||
{ command = "chktex", filetypes = { "tex" } },
|
||||
})
|
||||
|
||||
-- Formatters
|
||||
--
|
||||
local formatters = require("lvim.lsp.null-ls.formatters")
|
||||
formatters.setup({
|
||||
{ command = "latexindent", filetypes = { "tex" } },
|
||||
})
|
||||
|
||||
|
||||
75
home/dot_config/lvim/lazy-lock.json
Normal file
75
home/dot_config/lvim/lazy-lock.json
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"Abstract-cs": { "branch": "main", "commit": "07475aa22943dc25080239c8cab613ab0a2945df" },
|
||||
"AdvancedNewFile.nvim": { "branch": "main", "commit": "9b4576dcf916d848148241e7269c9cd78f299b22" },
|
||||
"ChatGPT.nvim": { "branch": "main", "commit": "48c59167beeb6ee0caa501c46cecc97b9be8571d" },
|
||||
"Comment.nvim": { "branch": "master", "commit": "38d3b7eb553872d8866f14a0dd4fe84126068fce" },
|
||||
"LuaSnip": { "branch": "master", "commit": "e77fa9ad0b1f4fc6cddf54e51047e17e90c7d7ed" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" },
|
||||
"asyncrun.vim": { "branch": "master", "commit": "61cc3081963a12048e00e89f8cedc8bd1cb83b8c" },
|
||||
"bigfile.nvim": { "branch": "main", "commit": "c1bad34ce742b4f360b67ca23c873fef998240fc" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "a4bd44523316928a7c4a5c09a3407d02c30b6027" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp-tabnine": { "branch": "main", "commit": "b93f82ef5150e578677fc2e2b4b328b19eed77e1" },
|
||||
"cmp-vimtex": { "branch": "master", "commit": "50da2d9baeca3e9efb9ca9d90f68c7cc01377bc2" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "631f79e346b0b3203d2ce3eae619ca8d612e5463" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "e5edefd9976039f5352e0c900f35206770b33a2d" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "d6a782c7002682f4a01b79fc3918c4584ad6e8fb" },
|
||||
"lir.nvim": { "branch": "master", "commit": "1aa871f20637eccc4e1e26b0fbcf9aafc9b6caf7" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" },
|
||||
"lunar.nvim": { "branch": "master", "commit": "08bbc93b96ad698d22fc2aa01805786bcedc34b9" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7276ffffcf51a8304b5fd4b81293be4ee010ec47" },
|
||||
"mason.nvim": { "branch": "main", "commit": "057ac5ca159c83e302a55bd839a96ff1ea2396db" },
|
||||
"mini.map": { "branch": "stable", "commit": "85c8ebdca96ae139ed70dde149c66e9d4100d5bb" },
|
||||
"modus-theme-vim": { "branch": "master", "commit": "4d827fbf1aad55f4d62225f7b999efc5023864a3" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "0043cf91c18aeac8db5765eb86c6078e17ac9325" },
|
||||
"neoscroll.nvim": { "branch": "master", "commit": "be4ebf855a52f71ca4338694a5696675d807eff9" },
|
||||
"neotest": { "branch": "master", "commit": "1ee3fcc150207f33dba8c9b3f478e5a0148d661d" },
|
||||
"neotest-python": { "branch": "master", "commit": "86ac2bbc8a4da3f203e56d9303d6ed1d7e50c1f6" },
|
||||
"nlsp-settings.nvim": { "branch": "main", "commit": "32aa12da328258f2dccb15d327c26a8d21d9f4bd" },
|
||||
"nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" },
|
||||
"null-ls.nvim": { "branch": "main", "commit": "33b853a3933eed3137cd055aac4e539e69832ad0" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "7566a86f44bb72ba2b1a609f528a27d93241502d" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "11102d3db12c7f8b35265ad0e17a21511e5b1e68" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" },
|
||||
"nvim-dap": { "branch": "master", "commit": "6cedcb527e264c8f25e86afa8dae74c6692dee51" },
|
||||
"nvim-dap-python": { "branch": "master", "commit": "091e4ae00a12085f9ed4200a3cd04af7179b8a23" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "286f682f366fbc652b38dff893569374e9433dd3" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "427378a03ffc1e1bc023275583a49b1993e524d0" },
|
||||
"nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "2ce3c9080cfe4a39c7907e672edafd2a95244a7c" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" },
|
||||
"nvim-ts-rainbow": { "branch": "master", "commit": "8312b513ce930e7669a1721befbe56f2e1853301" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "986875b7364095d6535e28bd4aac3a9357e91bbe" },
|
||||
"onedarker.nvim": { "branch": "freeze", "commit": "b00dd2189f264c5aeb4cf04c59439655ecd573ec" },
|
||||
"onedarkpro.nvim": { "branch": "main", "commit": "44badbaa1c4408679adc6b6979b669540db3fb46" },
|
||||
"papercolor-theme": { "branch": "master", "commit": "9051480ad9129ff4ab4fffb38b44779b9081626f" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" },
|
||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
||||
"rnvimr": { "branch": "main", "commit": "5f0483d1c107ab1fe7e0af08cdf7900aa0dcb40e" },
|
||||
"schemastore.nvim": { "branch": "main", "commit": "0b396f538f195c249f021a48c3d8988f0d3f86f7" },
|
||||
"structlog.nvim": { "branch": "main", "commit": "45b26a2b1036bb93c0e83f4225e85ab3cee8f476" },
|
||||
"suda.vim": { "branch": "master", "commit": "8b0fc3711760195aba104e2d190cff9af8267052" },
|
||||
"swenv.nvim": { "branch": "main", "commit": "87216f6ed7886a8cbd2b8fede1ccbdb2c91733c2" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" },
|
||||
"telescope.nvim": { "branch": "0.1.x", "commit": "9de317bdea2bc393074651179c4fc7f93e9b2d56" },
|
||||
"tex-conceal.vim": { "branch": "master", "commit": "93ae39d9222b0892684d02324b85ee9d3647bf8e" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "68fdf851c2b7901a7065ff129b77d3483419ddce" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "c5df636ce62a8aab7565f35da143cfd672526302" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
|
||||
"vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" },
|
||||
"vim-gitignore": { "branch": "master", "commit": "47e85aec1a87715981b5aec96c46fb408863804b" },
|
||||
"vim-grammalecte": { "branch": "master", "commit": "a0ce51a77e56151f62ddbfd10e7dec46000f2848" },
|
||||
"vim-header": { "branch": "master", "commit": "4447b601dd2439586a6d3ff4c3fefec86a522294" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" },
|
||||
"vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" },
|
||||
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
|
||||
"vimtex": { "branch": "master", "commit": "f9b19d09ee6f0ba70dad0b5c2e710dd700681000" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "4acffc92953a90a790603bfdab7c92319ab167b1" },
|
||||
"zk-nvim": { "branch": "main", "commit": "fb0962b75a680561f94cae0588b8da92ea8d2fae" }
|
||||
}
|
||||
0
home/dot_config/lvim/lua/.keep
Normal file
0
home/dot_config/lvim/lua/.keep
Normal file
24
home/dot_config/lvim/lua/user/dap.lua
Normal file
24
home/dot_config/lvim/lua/user/dap.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/lua/user/dap.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 28.12.2023 21:34:48
|
||||
Last Modified Date: 06.01.2024 18:53:52
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
-- Setup debug adapter
|
||||
--
|
||||
|
||||
local M = {}
|
||||
|
||||
M.setup = function()
|
||||
lvim.builtin.dap.active = true
|
||||
local mason_path = vim.fn.glob(vim.fn.stdpath "data" .. "/mason/")
|
||||
pcall(function()
|
||||
require("dap-python").setup(mason_path .. "packages/debugpy/venv/bin/python")
|
||||
end)
|
||||
end
|
||||
|
||||
return M
|
||||
33
home/dot_config/lvim/lua/user/functions.lua
Normal file
33
home/dot_config/lvim/lua/user/functions.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/lua/user/functions.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 28.12.2023 20:13:31
|
||||
Last Modified Date: 28.12.2023 20:13:31
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
-- function Surround(w_or_W)
|
||||
-- local open_char = vim.fn.input("Surround with: ")
|
||||
-- local closed_char = nil
|
||||
-- if open_char == "(" then closed_char = ")" end
|
||||
-- if open_char == "[" then closed_char = "]" end
|
||||
-- if open_char == "{" then closed_char = "}" end
|
||||
-- if open_char == "<" then closed_char = ">" end
|
||||
-- if open_char == "'" then closed_char = "'" end
|
||||
-- if open_char == '"' then closed_char = '"' end
|
||||
-- if open_char == "`" then closed_char = "`" end
|
||||
-- if open_char == "/" then closed_char = "/" end
|
||||
-- if open_char == "|" then closed_char = "|" end
|
||||
|
||||
-- if w_or_W == "w" then
|
||||
-- vim.cmd("normal! ciw" .. open_char)
|
||||
-- elseif w_or_W == "W" then
|
||||
-- vim.cmd([[normal! ciW]] .. open_char)
|
||||
-- end
|
||||
-- vim.cmd("normal! p")
|
||||
-- vim.cmd("normal! a" .. closed_char)
|
||||
-- vim.cmd("normal! a")
|
||||
-- end
|
||||
|
||||
35
home/dot_config/lvim/lua/user/keybindings.lua
Normal file
35
home/dot_config/lvim/lua/user/keybindings.lua
Normal file
@@ -0,0 +1,35 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/lua/user/keybindings.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 28.12.2023 20:32:45
|
||||
Last Modified Date: 29.12.2023 22:35:31
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
local M = {}
|
||||
|
||||
M.setup = function()
|
||||
-- ============
|
||||
-- key mappings
|
||||
--
|
||||
-- vim-surround shortcuts as example
|
||||
-- vim.api.nvim_set_keymap("n", "sw", "<Plug>Ysurroundiw", { noremap = true, silent = true })
|
||||
-- vim.api.nvim_set_keymap("n", "Sw", "<Plug>YSurroundiw", { noremap = true, silent = true })
|
||||
--
|
||||
|
||||
lvim.leader = ";"
|
||||
|
||||
lvim.keys.insert_mode[";;"] = "<Esc>"
|
||||
|
||||
lvim.keys.normal_mode["<C-s>"] = "<CMD>w!<CR>"
|
||||
lvim.keys.normal_mode["<C-z>"] = "<CMD>undo<CR>"
|
||||
lvim.keys.normal_mode["<C-r>"] = "<CMD>redo<CR>"
|
||||
lvim.keys.normal_mode["<C-[>"] = ":<<CR>"
|
||||
lvim.keys.normal_mode["<C-]>"] = ":><CR>"
|
||||
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
34
home/dot_config/lvim/lua/user/lsp.lua
Normal file
34
home/dot_config/lvim/lua/user/lsp.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/lua/user/lsp.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 28.12.2023 21:34:48
|
||||
Last Modified Date: 06.01.2024 18:59:29
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
-- Setup debug adapter
|
||||
--
|
||||
|
||||
local M = {}
|
||||
|
||||
M.setup = function()
|
||||
-- Generic LSP settings
|
||||
vim.diagnostic.config({ virtual_text = true })
|
||||
|
||||
-- setup LSP
|
||||
local capabilities = require("lvim.lsp").common_capabilities()
|
||||
require("lvim.lsp.manager").setup(
|
||||
"texlab", {
|
||||
on_attach = require("lvim.lsp").common_on_attach,
|
||||
on_init = require("lvim.lsp").common_on_init,
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
require("lvim.lsp.manager").setup(
|
||||
"marksman", {
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
109
home/dot_config/lvim/lua/user/luasnip-helper-funcs.lua
Normal file
109
home/dot_config/lvim/lua/user/luasnip-helper-funcs.lua
Normal file
@@ -0,0 +1,109 @@
|
||||
--[[--
|
||||
File : luasnip-helper-funcs.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 05.08.2023 20:35:21
|
||||
Last Modified Date: 05.08.2023 20:35:21
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
-- local M = {}
|
||||
|
||||
-- -- Be sure to explicitly define these LuaSnip node abbreviations!
|
||||
-- local ls = require("luasnip")
|
||||
-- local s = ls.snippet
|
||||
-- local sn = ls.snippet_node
|
||||
-- local isn = ls.indent_snippet_node
|
||||
-- local t = ls.text_node
|
||||
-- local i = ls.insert_node
|
||||
-- local f = ls.function_node
|
||||
-- local c = ls.choice_node
|
||||
-- local d = ls.dynamic_node
|
||||
-- local r = ls.restore_node
|
||||
-- local events = require("luasnip.util.events")
|
||||
-- local ai = require("luasnip.nodes.absolute_indexer")
|
||||
-- local extras = require("luasnip.extras")
|
||||
-- local l = extras.lambda
|
||||
-- local rep = extras.rep
|
||||
-- local p = extras.partial
|
||||
-- local m = extras.match
|
||||
-- local n = extras.nonempty
|
||||
-- local dl = extras.dynamic_lambda
|
||||
-- local fmt = require("luasnip.extras.fmt").fmt
|
||||
-- local fmta = require("luasnip.extras.fmt").fmta
|
||||
-- local conds = require("luasnip.extras.expand_conditions")
|
||||
-- local postfix = require("luasnip.extras.postfix").postfix
|
||||
-- local types = require("luasnip.util.types")
|
||||
-- local parse = require("luasnip.util.parser").parse_snippet
|
||||
-- local ms = ls.multi_snippet
|
||||
-- local k = require("luasnip.nodes.key_indexer").new_key
|
||||
|
||||
-- function M.get_visual(args, parent)
|
||||
-- if (#parent.snippet.env.LS_SELECT_RAW > 0) then
|
||||
-- return sn(nil, i(1, parent.snippet.env.LS_SELECT_RAW))
|
||||
-- else
|
||||
-- return sn(nil, i(1, ''))
|
||||
-- end
|
||||
-- end
|
||||
|
||||
-- function M.rec_ls()
|
||||
-- return sn(nil, {
|
||||
-- c(1, {
|
||||
-- -- important!! Having the sn(...) as the first choice will cause infinite recursion.
|
||||
-- t({""}),
|
||||
-- -- The same dynamicNode as in the snippet (also note: self reference).
|
||||
-- sn(nil, {t({"", "\t\\item "}), i(1), d(2, rec_ls, {})}),
|
||||
-- }),
|
||||
-- });
|
||||
-- end
|
||||
|
||||
-- function M.table_node(args)
|
||||
-- local tabs = {}
|
||||
-- local count
|
||||
-- table = args[1][1]:gsub("%s",""):gsub("|","")
|
||||
-- count = table:len()
|
||||
-- for j=1, count do
|
||||
-- local iNode
|
||||
-- iNode = i(j)
|
||||
-- tabs[2*j-1] = iNode
|
||||
-- if j~=count then
|
||||
-- tabs[2*j] = t" & "
|
||||
-- end
|
||||
-- end
|
||||
-- return sn(nil, tabs)
|
||||
-- end
|
||||
|
||||
-- function M.rec_table()
|
||||
-- return sn(nil,
|
||||
-- {
|
||||
-- c(1, {
|
||||
-- t({""}),
|
||||
-- sn(nil, {t{"\\\\",""}, d(1, table_node, {ai[1]}), d(2, rec_table, {ai[1]})})
|
||||
-- }),
|
||||
-- }
|
||||
-- );
|
||||
-- end
|
||||
|
||||
-- function M.mat(args, snip)
|
||||
-- local rows = tonumber(snip.captures[2])
|
||||
-- local cols = tonumber(snip.captures[3])
|
||||
-- local nodes = {}
|
||||
-- local ins_indx = 1
|
||||
-- for j = 1, rows do
|
||||
-- table.insert(nodes, r(ins_indx, tostring(j) .. "x1", i(1)))
|
||||
-- ins_indx = ins_indx + 1
|
||||
-- for k = 2, cols do
|
||||
-- table.insert(nodes, t(" & "))
|
||||
-- table.insert(nodes, r(ins_indx, tostring(j) .. "x" .. tostring(k), i(1)))
|
||||
-- ins_indx = ins_indx + 1
|
||||
-- end
|
||||
-- table.insert(nodes, t({ " \\\\", "" }))
|
||||
-- end
|
||||
-- -- fix last node.
|
||||
-- nodes[#nodes] = t(" \\\\")
|
||||
-- return sn(nil, nodes)
|
||||
-- end
|
||||
|
||||
|
||||
-- return M
|
||||
17
home/dot_config/lvim/lua/user/plugin-configs.lua
Normal file
17
home/dot_config/lvim/lua/user/plugin-configs.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/lua/user/plugin-configs.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 28.12.2023 21:34:48
|
||||
Last Modified Date: 06.01.2024 18:33:43
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
-- Plugins configurations
|
||||
--
|
||||
|
||||
local M = {}
|
||||
|
||||
|
||||
return M
|
||||
288
home/dot_config/lvim/lua/user/plugins.lua
Normal file
288
home/dot_config/lvim/lua/user/plugins.lua
Normal file
@@ -0,0 +1,288 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/lua/user/plugins.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 28.12.2023 21:31:06
|
||||
Last Modified Date: 28.12.2023 21:31:06
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
local M = {}
|
||||
|
||||
M.setup = function()
|
||||
local configs = require("user.plugin-configs")
|
||||
|
||||
lvim.plugins = {
|
||||
-- abolish
|
||||
{
|
||||
'tpope/vim-abolish',
|
||||
},
|
||||
-- addheader
|
||||
{
|
||||
'alpertuna/vim-header',
|
||||
config = function()
|
||||
vim.cmd([[
|
||||
let g:header_field_author = 'Jeff Lance'
|
||||
let g:header_field_author_email = 'email@jefflance.me'
|
||||
let g:header_auto_update_header = 1
|
||||
let g:header_field_filename_path = 1
|
||||
let g:header_field_timestamp_format = '%d.%m.%Y %H:%M:%S'
|
||||
]])
|
||||
end,
|
||||
},
|
||||
-- new file plugin
|
||||
{
|
||||
'Mohammed-Taher/AdvancedNewFile.nvim',
|
||||
},
|
||||
-- asyncrun
|
||||
{
|
||||
"skywind3000/asyncrun.vim",
|
||||
},
|
||||
-- chatgpt
|
||||
{
|
||||
"jackMort/ChatGPT.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("chatgpt").setup({
|
||||
api_key_cmd = "pass _api_keys/openai_perso-1"
|
||||
})
|
||||
end,
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope.nvim"
|
||||
}
|
||||
},
|
||||
-- cmp addons
|
||||
{
|
||||
"tzachar/cmp-tabnine",
|
||||
build = "./install.sh",
|
||||
dependencies = "hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
},
|
||||
{
|
||||
"micangl/cmp-vimtex",
|
||||
dependencies = "hrsh7th/nvim-cmp",
|
||||
},
|
||||
-- colorschemes
|
||||
{
|
||||
'Abstract-IDE/Abstract-cs',
|
||||
},
|
||||
{
|
||||
'ishan9299/modus-theme-vim',
|
||||
},
|
||||
{
|
||||
'NLKNguyen/papercolor-theme',
|
||||
},
|
||||
{
|
||||
'olimorris/onedarkpro.nvim',
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("onedarkpro").setup({
|
||||
colors = {
|
||||
onedark = {
|
||||
bg = "#000000" -- black
|
||||
},
|
||||
onelight = {
|
||||
bg = "#FFFFFF" -- white
|
||||
},
|
||||
-- cursorline = "#FF0000",
|
||||
},
|
||||
styles = {
|
||||
types = "NONE",
|
||||
methods = "NONE",
|
||||
numbers = "NONE",
|
||||
strings = "NONE",
|
||||
comments = "italic",
|
||||
keywords = "bold,italic",
|
||||
constants = "NONE",
|
||||
functions = "italic",
|
||||
operators = "NONE",
|
||||
variables = "NONE",
|
||||
parameters = "NONE",
|
||||
conditionals = "italic",
|
||||
virtual_text = "NONE",
|
||||
},
|
||||
options = {
|
||||
cursorline = true,
|
||||
transparency = true,
|
||||
}
|
||||
})
|
||||
end
|
||||
},
|
||||
-- gitignore
|
||||
{
|
||||
'jefflance/vim-gitignore',
|
||||
},
|
||||
-- languagetool
|
||||
{
|
||||
'dpelle/vim-grammalecte',
|
||||
config = function ()
|
||||
vim.cmd([[
|
||||
let g:grammalecte_cli_py = '/usr/bin/grammalecte-cli'
|
||||
]])
|
||||
end
|
||||
},
|
||||
-- markdown previewer
|
||||
{
|
||||
'iamcco/markdown-preview.nvim',
|
||||
build = "cd app && npm install",
|
||||
ft = "markdown",
|
||||
config = function()
|
||||
vim.cmd([[
|
||||
let g:mkdp_auto_start = 1
|
||||
]])
|
||||
end,
|
||||
},
|
||||
-- minimap
|
||||
{
|
||||
'echasnovski/mini.map',
|
||||
branch = "stable",
|
||||
config = function()
|
||||
require('mini.map').setup()
|
||||
local map = require('mini.map')
|
||||
map.setup({
|
||||
integrations = {
|
||||
map.gen_integration.builtin_search(),
|
||||
map.gen_integration.diagnostic({
|
||||
error = 'DiagnosticFloatingError',
|
||||
warn = 'DiagnosticFloatingWarn',
|
||||
info = 'DiagnosticFloatingInfo',
|
||||
hint = 'DiagnosticFloatingHint',
|
||||
}),
|
||||
},
|
||||
symbols = {
|
||||
encode = map.gen_encode_symbols.dot('2x1'),
|
||||
},
|
||||
window = {
|
||||
side = 'right',
|
||||
width = 20, -- set to 1 for a pure scrollbar :)
|
||||
winblend = 15,
|
||||
show_integration_count = false,
|
||||
},
|
||||
})
|
||||
end
|
||||
},
|
||||
-- neoscroll: smooth scrolling
|
||||
{
|
||||
"karb94/neoscroll.nvim",
|
||||
event = "WinScrolled",
|
||||
config = function()
|
||||
require('neoscroll').setup({
|
||||
-- All these keys will be mapped to their corresponding default scrolling animation
|
||||
mappings = { '<C-u>', '<C-d>', '<C-b>', '<C-f>',
|
||||
'<C-y>', '<C-e>', 'zt', 'zz', 'zb' },
|
||||
hide_cursor = true, -- Hide cursor while scrolling
|
||||
stop_eof = true, -- Stop at <EOF> when scrolling downwards
|
||||
use_local_scrolloff = false, -- Use the local scope of scrolloff instead of the global scope
|
||||
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
|
||||
cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
|
||||
easing_function = nil, -- Default easing function
|
||||
pre_hook = nil, -- Function to run before the scrolling animation starts
|
||||
post_hook = nil, -- Function to run after the scrolling animation ends
|
||||
})
|
||||
end
|
||||
},
|
||||
-- zk: a plain text note-taking assistant
|
||||
{
|
||||
'mickael-menu/zk-nvim',
|
||||
config = function()
|
||||
require("zk").setup({
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- nvim-ts-rainbow: rainbowed parenthesis
|
||||
{
|
||||
"mrjones2014/nvim-ts-rainbow",
|
||||
},
|
||||
-- colorizer: color highlighter
|
||||
{
|
||||
'norcalli/nvim-colorizer.lua',
|
||||
config = function()
|
||||
require("colorizer").setup({ '*' }, {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
mode = 'background',
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"kevinhwang91/rnvimr",
|
||||
cmd = "RnvimrToggle",
|
||||
config = function()
|
||||
vim.cmd([[
|
||||
let g:rnvimr_draw_border = 1
|
||||
let g:rnvimr_pick_enable = 1
|
||||
let g:rnvimr_bw_enable = 1
|
||||
]])
|
||||
end,
|
||||
},
|
||||
-- suda
|
||||
{
|
||||
'lambdalisue/suda.vim',
|
||||
config = function()
|
||||
vim.cmd([[
|
||||
let g:prompt = 'Mot de passe: '
|
||||
let g:suda_smart_edit = 1
|
||||
]])
|
||||
end,
|
||||
},
|
||||
-- trouble
|
||||
{
|
||||
'folke/trouble.nvim',
|
||||
cmd = "TroubleToggle",
|
||||
},
|
||||
-- vim-repeat: enable repeating supported plugin maps with "."
|
||||
{
|
||||
"tpope/vim-repeat"
|
||||
},
|
||||
-- vim-surround
|
||||
{
|
||||
'tpope/vim-surround',
|
||||
config = function()
|
||||
vim.cmd([[
|
||||
let timeoutlen = 500
|
||||
]])
|
||||
end,
|
||||
},
|
||||
-- LaTeX management needed plugins
|
||||
{
|
||||
"lervag/vimtex",
|
||||
config = function()
|
||||
vim.cmd([[
|
||||
let g:vimtex_view_method = "zathura"
|
||||
let g:vimtex_quickfix_enabled = 0
|
||||
let g:vimtex_compiler_method = 'latexmk'
|
||||
let g:vimtex_view_use_temp_files = 0
|
||||
]])
|
||||
end,
|
||||
},
|
||||
{
|
||||
"KeitaNakamura/tex-conceal.vim"
|
||||
},
|
||||
-- Python management needed plugins
|
||||
{
|
||||
"ChristianChiarulli/swenv.nvim"
|
||||
},
|
||||
{
|
||||
"stevearc/dressing.nvim"
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap-python"
|
||||
},
|
||||
{
|
||||
"nvim-neotest/neotest"
|
||||
},
|
||||
{
|
||||
"nvim-neotest/neotest-python"
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
33
home/dot_config/lvim/lua/user/tests.lua
Normal file
33
home/dot_config/lvim/lua/user/tests.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/lua/user/tests.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 28.12.2023 21:34:48
|
||||
Last Modified Date: 06.01.2024 18:55:14
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
-- Setup test framework
|
||||
--
|
||||
|
||||
local M = {}
|
||||
|
||||
M.setup = function()
|
||||
require("neotest").setup({
|
||||
adapters = {
|
||||
require("neotest-python")({
|
||||
-- Extra arguments for nvim-dap configuration
|
||||
-- See https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for values
|
||||
dap = {
|
||||
justMyCode = false,
|
||||
console = "integratedTerminal",
|
||||
},
|
||||
args = { "--log-level", "DEBUG", "--quiet" },
|
||||
runner = "pytest",
|
||||
})
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
88
home/dot_config/lvim/lua/user/whichkey.lua
Normal file
88
home/dot_config/lvim/lua/user/whichkey.lua
Normal file
@@ -0,0 +1,88 @@
|
||||
--[[--
|
||||
File : conf.d/lvim/lua/user/whichkey.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 29.12.2023 22:30:57
|
||||
Last Modified Date: 29.12.2023 22:30:57
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]--
|
||||
|
||||
|
||||
|
||||
local M = {}
|
||||
|
||||
M.setup = function()
|
||||
-- =================
|
||||
-- whichkey mappings
|
||||
--
|
||||
|
||||
-- remap neo-tree shortcut to rnvimr
|
||||
lvim.builtin.which_key.mappings["e"] = { "<CMD>RnvimrToggle<CR>", "File explorer" }
|
||||
|
||||
-- remap dashboard
|
||||
lvim.builtin.which_key.mappings["d"] = lvim.builtin.which_key.mappings[";"]
|
||||
|
||||
-- remap git
|
||||
lvim.builtin.which_key.mappings["G"] = lvim.builtin.which_key.mappings["g"]
|
||||
lvim.builtin.which_key.mappings["g"] = {}
|
||||
|
||||
-- remap highlight
|
||||
lvim.builtin.which_key.mappings["H"] = lvim.builtin.which_key.mappings["h"]
|
||||
|
||||
-- remap lunarvim and lsp
|
||||
lvim.builtin.which_key.mappings["Lv"] = lvim.builtin.which_key.mappings["L"]
|
||||
lvim.builtin.which_key.mappings["Ll"] = lvim.builtin.which_key.mappings["l"]
|
||||
lvim.builtin.which_key.mappings["l"] = {}
|
||||
lvim.builtin.which_key.mappings["L"] = {
|
||||
name = "LSP, Lunar"
|
||||
}
|
||||
lvim.builtin.which_key.mappings["Lve"] = lvim.builtin.which_key.mappings["Lvc"]
|
||||
lvim.builtin.which_key.mappings["Lvc"] = {}
|
||||
|
||||
-- zettle mappings
|
||||
lvim.builtin.which_key.mappings["N"] = {
|
||||
name = "Notes",
|
||||
c = { "<CMD>edit /home/jeff/.config/zk/config.toml<CR>", "Edit config.toml" },
|
||||
n = { "<CMD>ZkNew { dir = vim.fn.input('Groupe: '), title = vim.fn.input('Titre: '), date = 'now' }<CR>",
|
||||
"Créer une nouvelle note" },
|
||||
o = { "<CMD>ZkNotes { sort = { 'modified' } }<CR>", "Ouvrir une note" },
|
||||
O = { "<CMD>ZkTags<CR>", "Ouvrir les notes avec le tag sélectionné" },
|
||||
f = { "<CMD>ZkNotes { sort = { 'modified' }, match = { vim.fn.input('Rechercher note: ') } }<CR>",
|
||||
"Rechercher une note" },
|
||||
F = { ":'<,'>ZkMatch<CR>", "Rechercher les notes contenant la sélection" },
|
||||
}
|
||||
|
||||
-- remap plugins mappings
|
||||
lvim.builtin.which_key.mappings["P"] = {
|
||||
name = "Plugins"
|
||||
}
|
||||
|
||||
-- telescope
|
||||
lvim.builtin.which_key.mappings["P"] = lvim.builtin.which_key.mappings["p"]
|
||||
lvim.builtin.which_key.mappings["o"] = { "<CMD>Telescope find_files<CR>", "Open a file" }
|
||||
lvim.builtin.which_key.mappings["p"] = { "<CMD>Telescope projects<CR>", "Projects" }
|
||||
lvim.builtin.which_key.mappings["r"] = { "<CMD>Telescope oldfiles<CR>", "Open recent file" }
|
||||
|
||||
-- remap search
|
||||
lvim.builtin.which_key.mappings["S"] = lvim.builtin.which_key.mappings["s"]
|
||||
|
||||
-- new mappings
|
||||
lvim.builtin.which_key.mappings["h"] = {
|
||||
name = "Header",
|
||||
h = { "<CMD>AddHeader<CR>", "Add header to the file" },
|
||||
m = { "<CMD>AddMinHeader<CR>", "Add minimal header to the file" },
|
||||
lg = { "<CMD>AddGNULicense<CR>", "Add GPLv3 License" },
|
||||
lm = { "<CMD>AddMITLicense<CR>", "Add MIT License" },
|
||||
}
|
||||
|
||||
lvim.builtin.which_key.mappings["n"] = { "<CMD>AdvancedNewFile<CR>", "Create a new file"}
|
||||
|
||||
lvim.builtin.which_key.mappings["s"] = { "<CMD>echom 'Sourcing' <BAR> source %<CR>", "Source current file" }
|
||||
|
||||
lvim.builtin.which_key.mappings["x"] = { "<CMD>w! <BAR> q!<CR>", "Save and quit" }
|
||||
|
||||
lvim.builtin.which_key.mappings[";"] = {}
|
||||
lvim.builtin.terminal.open_mapping = "<C-t>"
|
||||
|
||||
end
|
||||
|
||||
return M
|
||||
0
home/dot_config/lvim/luasnippets/.keep
Normal file
0
home/dot_config/lvim/luasnippets/.keep
Normal file
347
home/dot_config/lvim/luasnippets/tex.lua
Normal file
347
home/dot_config/lvim/luasnippets/tex.lua
Normal file
@@ -0,0 +1,347 @@
|
||||
--[[--
|
||||
File : .config/lvim/luasnippets/tex.lua
|
||||
Author : Jeff Lance <email@jefflance.me>
|
||||
Date : 05.08.2023 00:54:18
|
||||
Last Modified Date: 06.08.2023 12:55:15
|
||||
Last Modified By : Jeff Lance <email@jefflance.me>
|
||||
--]]
|
||||
--
|
||||
|
||||
|
||||
--
|
||||
-- Helpers functions
|
||||
--
|
||||
local line_begin = require("luasnip.extras.expand_conditions").line_begin
|
||||
|
||||
local in_mathzone = function()
|
||||
-- The `in_mathzone` function requires the VimTeX plugin
|
||||
return vim.fn['vimtex#syntax#in_mathzone']() == 1
|
||||
end
|
||||
|
||||
local in_text = function()
|
||||
return not in_mathzone()
|
||||
end
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Snippets
|
||||
--
|
||||
|
||||
return {
|
||||
--
|
||||
-- text commands
|
||||
--
|
||||
s({ trig = "#", dscr = "Partie"},
|
||||
fmta(
|
||||
[[
|
||||
\partie{<>}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
),
|
||||
{ condition = line_begin }
|
||||
),
|
||||
s({ trig = "##", dscr = "Sous-partie"},
|
||||
fmta(
|
||||
[[
|
||||
\sspartie{<>}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
),
|
||||
{ condition = line_begin }
|
||||
),
|
||||
s({ trig = "###", dscr = "Sous-sous-partie"},
|
||||
fmta(
|
||||
[[
|
||||
\ssspartie{<>}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
),
|
||||
{ condition = line_begin }
|
||||
),
|
||||
--
|
||||
-- maths commands
|
||||
--
|
||||
s({ trig = "lim", dscr = "Limit" },
|
||||
fmta(
|
||||
[[
|
||||
$ \lim\limits_{ <> } <> $
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2),
|
||||
}
|
||||
),
|
||||
{condition = in_text}
|
||||
),
|
||||
s({ trig = "xto", dscr = "Limit" },
|
||||
fmta(
|
||||
[[
|
||||
x \to <>
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
s({ trig = "stack", dscr = "Limit" },
|
||||
fmta(
|
||||
[[
|
||||
\substack{ <> \\ <> }
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
--
|
||||
-- sets
|
||||
--
|
||||
s({ trig = '([^%w])R', regTrig = true, wordTrig = false, dscr = "Set R" },
|
||||
fmta(
|
||||
[[
|
||||
\mathbb{R}
|
||||
]],
|
||||
{
|
||||
}
|
||||
),
|
||||
{ condition = in_mathzone }
|
||||
),
|
||||
-- s({ trig = '([^%w])R', regTrig = true, wordTrig = false, dscr = "Set R" },
|
||||
-- fmta(
|
||||
-- [[
|
||||
-- $ \mathbb{R} $
|
||||
-- ]],
|
||||
-- {
|
||||
-- }
|
||||
-- ),
|
||||
-- { condition = in_text }
|
||||
-- ),
|
||||
--
|
||||
-- environments
|
||||
--
|
||||
s({ trig = "table", dscr = "My LaTeX table environment" },
|
||||
fmta(
|
||||
[[
|
||||
\begin{tabular}{c|c}
|
||||
\hline
|
||||
\rule[-1ex]{0pt}{2.5ex} <> & <> \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
s({ trig = "env", dscr = "A LaTeX empty environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{<>}[<>]
|
||||
<>
|
||||
\end{<>}
|
||||
]],
|
||||
-- The insert node is placed in the <> angle brackets
|
||||
{
|
||||
i(1),
|
||||
i(2),
|
||||
i(3),
|
||||
rep(1), -- This node repeat insert node 1
|
||||
},
|
||||
-- This is where I specify that angle brackets are used as node positions.
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "def", dscr = "My LaTeX class definition environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{definition}[<>]
|
||||
<>
|
||||
\end{definition}
|
||||
]],
|
||||
-- The insert node is placed in the <> angle brackets
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
-- This is where I specify that angle brackets are used as node positions.
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "ppt", dscr = "My LaTeX class property environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{propriete}[<>]
|
||||
<>
|
||||
\end{propriete}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "cor", dscr = "My LaTeX class corollair environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{corollaire}[<>]
|
||||
<>
|
||||
\end{corollaire}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "thm", dscr = "My LaTeX class theorem environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{theoreme}[<>]
|
||||
<>
|
||||
\end{theoreme}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "dem", dscr = "My LaTeX class proof environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{preuve}[<>]
|
||||
<>
|
||||
\end{preuve}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "csq", dscr = "My LaTeX class consequence environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{consequence}[<>]
|
||||
<>
|
||||
\end{consequence}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "rem", dscr = "My LaTeX class remark environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{remarque}[<>]
|
||||
<>
|
||||
\end{remarque}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "exp", dscr = "My LaTeX class example environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{exemple}[<>]
|
||||
<>
|
||||
\end{exemple}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "met", dscr = "My LaTeX class method environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{methode}[<>]
|
||||
<>
|
||||
\end{methode}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "app", dscr = "My LaTeX class application environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{application}[<>]
|
||||
<>
|
||||
\end{application}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "exe", dscr = "My LaTeX class exercise environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{exercice}[<>]
|
||||
<>
|
||||
\end{exercice}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "rap", dscr = "My LaTeX class recall environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{rappel}[<>]
|
||||
<>
|
||||
\end{rappel}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
s({ trig = "aid", dscr = "My LaTeX class help environment" },
|
||||
fmt(
|
||||
[[
|
||||
\begin{aide}[<>]
|
||||
<>
|
||||
\end{aide}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2)
|
||||
},
|
||||
{ delimiters = "<>" }
|
||||
)
|
||||
),
|
||||
}
|
||||
Reference in New Issue
Block a user