init
This commit is contained in:
79
init.lua
Normal file
79
init.lua
Normal file
@@ -0,0 +1,79 @@
|
||||
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', '<leader>ll', '<cmd>VimtexCompile<CR>', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<leader>lv', '<cmd>VimtexView<CR>', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<leader>lk', '<cmd>VimtexStop<CR>', { 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
|
||||
Reference in New Issue
Block a user