if vim.fn.has "nvim-0.8" == 0 then error "Need Neovim 0.8+ in order to use this config" end for _, cmd in ipairs { "git", "rg", { "fd", "fdfind" } } do local name = type(cmd) == "string" and cmd or vim.inspect(cmd) local commands = type(cmd) == "string" and { cmd } or cmd ---@cast commands string[] local found = false for _, c in ipairs(commands) do if vim.fn.executable(c) == 1 then name = c found = true end end if not found then error(("`%s` is not installed"):format(name)) end end -- require('nvim-treesitter.configs').setup { -- ensure_installed = { 'latex', 'bibtex', 'comment' }, -- highlight = { enable = true }, -- } vim.g.vimtex_view_method = 'zathura' -- change to 'skim' (mac) or 'sumatrapdf' (win) vim.g.vimtex_compiler_method = 'latexmk' vim.g.vimtex_compiler_latexmk = { build_dir = '', options = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '-file-line-error' }, } -- forward/back search mappings vim.g.vimtex_view_forward_search_on_start = 1 -- keymaps to compile/view (vimtex provides defaults: \ll, \lv, \li) vim.api.nvim_set_keymap('n', 'll', 'VimtexCompile', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'lv', 'VimtexView', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'lk', 'VimtexStop', { noremap = true, silent = true }) -- LSP: texlab (you need texlab installed OR fall back to vimtex) -- local nvim_lsp = require('lspconfig') -- Basic nvim-cmp setup (LSP completion) vim.g.python3_host_prog = '/home/manuel/.conda/envs/sci/bin/python3' vim.g.tidal_target = "terminal" vim.opt.termguicolors = true -- enable 24-bit RGB colors -- Disable annoying deprecated message vim.deprecate = function() end -- bootstrap lazy and all plugins 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) -- Load default configurations and plugins for _, source in ipairs { "plugins", "options", "mappings", "autocmds", } do local ok, fault = pcall(require, source) if not ok then vim.api.nvim_err_writeln("Failed to load " .. source .. "\n\n" .. fault) end end -- Load custom configurations local exist, custom = pcall(require, "custom") if exist and type(custom) == "table" and custom.configs then custom.configs() end vim.opt.linebreak = true vim.opt.breakat = " \t"