local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup({ { "EdenEast/nightfox.nvim", lazy=false, priority=1000 }, { "folke/todo-comments.nvim", dependencies = { "nvim-lua/plenary.nvim" }, opts = { signs = true, -- show icons in the signs column sign_priority = 8, -- sign priority -- keywords recognized as todo comments keywords = { FIX = { icon = " ", color = "error", alt = {"FIXME", "BUG", "FIXIT", "ISSUE"}, }, TODO = { icon = " ", color = "info" }, HACK = { icon = " ", color = "hack" }, WARN = { icon = " ", color = "warning", alt = {"WARNING", "XXX"} }, PERF = { icon = "󰓅 ", color = "perf", alt = {"OPTIM", "PERFORMANCE", "OPTIMIZE"} }, NOTE = { icon = "󱞂 ", color = "hint", alt = {"INFO", "HINT"} }, TEST = { icon = " ", color = "test", alt = {"TESTING", "PASSED"} }, FAILED = { icon = " ", color = "fail" }, }, merge_keywords = true, highlight = { multiline = true, multiline_pattern = "^.", multiline_context = 10, before = "", keyword = "wide", after = "fg", pattern = [[.*<(KEYWORDS)\s*:]], comments_only = true, max_line_len = 400, exclude = {}, }, colors = { error = {"DiagnosticError", "ErrorMsg", "#c94f6d"}, warning = {"DiagnosticWarn", "WarningMsg", "#dbc074"}, info = {"DiagnosticInfo", "#719cd6"}, perf = {"Keyword", "#9d79d6"}, hint = {"DiagnosticHint", "#81b29a"}, default = {"Identifier", "#63cdcf"}, test = {"Func", "#97c2fc"}, fail = {"Builtin3", "#ef7593"}, hack = {"Number", "#f4a261"} }, search = { command = "rg", args = { "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", }, pattern = [[\b(KEYWORDS):]], }, } }, { 'saecki/crates.nvim', dependencies = { 'nvim-lua/plenary.nvim' }, config = function() require('crates').setup() end, }, { "axieax/urlview.nvim", config = function() require('urlview').setup({ default_picker = "telescope" }) end, }, { "nvim-telescope/telescope.nvim", dependencies = {"nvim-lua/plenary.nvim"}, }, {"nvim-telescope/telescope-ui-select.nvim"}, {"preservim/vim-pencil"}, {"pocco81/high-str.nvim"}, {"dhruvasagar/vim-table-mode"}, {"salkin-mada/openscad.nvim", event="BufRead"}, {"ChiliConSql/neovim-stylus", event="BufRead"}, {"digitaltoad/vim-pug", event="BufRead"}, {"pirmd/gemini.vim", event="BufRead"}, {"vmchale/ion-vim", event="BufRead"}, {"dpelle/vim-Grammalecte"}, {"vigoux/LanguageTool.nvim"}, {"chaimleib/vim-renpy", event="BufRead"}, {"meatballs/vim-xonsh", event="BufRead"} }) vim.opt.clipboard = 'unnamedplus' vim.opt.tabstop = 4 vim.opt.softtabstop = 4 vim.opt.shiftwidth = 4 vim.opt.expandtab = true vim.opt.number = false vim.opt.cursorline = true vim.opt.splitbelow = true vim.opt.splitright = true vim.opt.termguicolors = true vim.opt.showmode = false vim.opt.textwidth=78 vim.opt.colorcolumn = "29,30,71,72,79,80,119,120,139,140" vim.opt.incsearch = true vim.opt.hlsearch = false vim.opt.ignorecase = true vim.opt.smartcase = true vim.opt.wrap = true vim.opt.fdm = 'indent' vim.opt.listchars = {eol = '¶', tab = '⁝‧' , extends = '…', precedes= '…', trail = '˽', nbsp = '⎵' } vim.opt.showbreak = "……" vim.opt.list = true vim.opt.spelllang = 'fr' vim.g.grammalecte_cli_py = '/usr/bin/grammalecte-cli' vim.g.languagetool_jar = 'REPLACEHOME/.bin/languagetool-commandline.jar' local opts = {noremap=true, silent=true} local crates = require('crates') vim.keymap.set('n', '', "gt", opts) vim.keymap.set('n', '', "gT", opts) vim.keymap.set('v', 'gle', ":'<,'>!lou_translate en-us-brf.dis,braille-patterns.cti", opts) vim.keymap.set('v', 'gLe', ":'<,'>!lou_translate --backward en-us-brf.dis,braille-patterns.cti", opts) vim.keymap.set('v', 'glf', ":'<,'>!lou_translate fr-bfu-comp6.utb,braille-patterns.cti", opts) vim.keymap.set('v', 'gLf', ":'<,'>!lou_translate --backward fr-bfu-comp6.utb,braille-patterns.cti", opts) vim.keymap.set("n", "\\u", "UrlView", { desc = "View buffer URLs" }) vim.keymap.set("n", "\\U", "UrlView lazy", { desc = "View Packer plugin URLs" }) vim.keymap.set("v", "\\1", ":HSHighlight 1", { desc = "Highlight"}) vim.keymap.set("v", "\\2", ":HSHighlight 2", { desc = "Highlight"}) vim.keymap.set("v", "\\3", ":HSHighlight 3", { desc = "Highlight"}) vim.keymap.set("v", "\\4", ":HSHighlight 4", { desc = "Highlight"}) vim.keymap.set("v", "\\5", ":HSHighlight 5", { desc = "Highlight"}) vim.keymap.set("v", "\\6", ":HSHighlight 6", { desc = "Highlight"}) vim.keymap.set("v", "\\7", ":HSHighlight 7", { desc = "Highlight"}) vim.keymap.set("v", "\\8", ":HSHighlight 8", { desc = "Highlight"}) vim.keymap.set("v", "\\9", ":HSHighlight 9", { desc = "Highlight"}) vim.keymap.set("v", "\\0", ":HSHighlight 0", { desc = "Highlight"}) vim.keymap.set("n", "\\r", ":HSRmHighlight rm_all", { desc = "Remove highlight"}) vim.keymap.set("v", "\\r", ":HSRmHighlight", { desc = "Remove highlight"}) vim.keymap.set('n', 'ct', crates.toggle, opts) vim.keymap.set('n', 'cr', crates.reload, opts) vim.keymap.set('n', 'cv', crates.show_versions_popup, opts) vim.keymap.set('n', 'cf', crates.show_features_popup, opts) vim.keymap.set('n', 'cd', crates.show_dependencies_popup, opts) vim.keymap.set('n', 'cu', crates.update_crate, opts) vim.keymap.set('v', 'cu', crates.update_crates, opts) vim.keymap.set('n', 'ca', crates.update_all_crates, opts) vim.keymap.set('n', 'cU', crates.upgrade_crate, opts) vim.keymap.set('v', 'cU', crates.upgrade_crates, opts) vim.keymap.set('n', 'cA', crates.upgrade_all_crates, opts) vim.keymap.set('n', 'ce', crates.expand_plain_crate_to_inline_table, opts) vim.keymap.set('n', 'cE', crates.extract_crate_into_table, opts) vim.keymap.set('n', 'cH', crates.open_homepage, opts) vim.keymap.set('n', 'cR', crates.open_repository, opts) vim.keymap.set('n', 'cD', crates.open_documentation, opts) vim.keymap.set('n', 'cC', crates.open_crates_io, opts) vim.cmd 'colorscheme nightfox' vim.transparent_window = true vim.cmd 'highlight Normal ctermbg=none guibg=none' vim.diagnostic.config({ virtual_text = false }) vim.o.updatetime = 2500 vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] local high_str = require("high-str") high_str.setup({ verbosity = 0, saving_path = "REPLACEHOME/.local/share/lvim/highstr/", highlight_colors = { -- color_id = {"bg_hex_code",<"fg_hex_code"/"smart">} color_0 = {"#9d79d6", "smart"}, -- Cosmic charcoal color_1 = {"#719cd6", "smart"}, -- Pastel yellow color_2 = {"#81b29a", "smart"}, -- Aqua menthe color_3 = {"#dbc074", "smart"}, -- Proton purple color_4 = {"#f4a261", "smart"}, -- Orange red color_5 = {"#c94f6d", "smart"}, -- Office green color_6 = {"#d67ad2", "smart"}, -- Just blue color_7 = {"#dfdfe0", "smart"}, -- Blush pink color_8 = {"#63cdcf", "smart"}, -- Cosmic latte color_9 = {"#71839b", "smart"}, -- Fallow brown } })