diff --git a/.config/nvim/UltiSnips/tex.snippets b/.config/nvim/UltiSnips/tex.snippets index a705187..b57b9c2 100644 --- a/.config/nvim/UltiSnips/tex.snippets +++ b/.config/nvim/UltiSnips/tex.snippets @@ -12,6 +12,55 @@ def env(name): endglobal # General Formatting +snippet preamble "preamble" w +\\usepackage[a4paper, margin=0.5in]{geometry} +\\usepackage{amsmath} +\\usepackage{amsthm} +\\usepackage{amssymb} +\\usepackage{enumitem} + +\\usepackage{import} +\\usepackage{pdfpages} +\\usepackage{transparent} +\\usepackage{xcolor} + +\\newcommand{\\incfig}[2][1]{% +\t\\def\\svgwidth{#1\\columnwidth} +\t\\import{./figures/}{#2.pdf_tex} +} + +\\pdfsuppresswarningpagegroup=1 + +\\theoremstyle{definition} +\\newtheorem{all}{Theorem}[section] +\\theoremstyle{definition} +\\newtheorem{corollary}[all]{Corollary} +\\theoremstyle{definition} +\\newtheorem{lemma}[all]{Lemma} +\\theoremstyle{definition} +\\newtheorem{definition}[all]{Definition} +\\theoremstyle{definition} +\\newtheorem{exercise}[all]{Exercise} +\\theoremstyle{definition} +\\newtheorem{proposition}[all]{Proposition} +\\theoremstyle{definition} +\\newtheorem{example}[all]{Example} + +\\newenvironment{lecture}[1]{ +\t\\section{\\MakeUppercase{#1}} +\t\\vspace{-0.5em} +\t\\hrule +\t\\vspace{1em} +\t\\begin{list}{}{ +\t\t\\setlength{\\leftmargin}{1.5em} +\t} +\t\\item[] +}{ +\t\\end{list} +} + +endsnippet + snippet beg "begin{} / end{}" bA \\begin{$1} $0 @@ -27,7 +76,6 @@ snippet tob "Bold" w endsnippet # Text Formatting - snippet ... "ldots" A \ldots endsnippet @@ -50,8 +98,8 @@ endsnippet # Math Snippets context "math()" -snippet iff "iff" Ai -\iff +snippet iff "iff" iA +\iff $0 endsnippet context "math()" @@ -93,6 +141,10 @@ snippet __ "subscript" iA _{$1}$0 endsnippet +snippet ^^ "superscript" iA +^{$1}$0 +endsnippet + context "math()" snippet ceil "ceil" iA \left\lceil $1 \right\rceil $0 @@ -153,14 +205,19 @@ snippet compl "complement" iA ^{c} endsnippet +context "math()" +snippet txt "text" iA +\\text{ $1 } $0 +endsnippet + context "math()" snippet set "set" wA \\{$1\\} $0 endsnippet context "math()" -snippet cc "subset" Ai -\subset +snippet cc "complement" Ai +^{c} endsnippet snippet notin "not in " iA @@ -176,11 +233,13 @@ snippet NN "n" iA \N endsnippet -snippet Nn "cap" iA +context "math()" +snippet cap "cap" iA \cap endsnippet -snippet UU "cup" iA +context "math()" +snippet cup "cup" iA \cup endsnippet diff --git a/.config/nvim/ftplugin/racket.lua b/.config/nvim/ftplugin/racket.lua new file mode 100644 index 0000000..50295b8 --- /dev/null +++ b/.config/nvim/ftplugin/racket.lua @@ -0,0 +1,11 @@ +-- map the key (sequence) to a command +local function map(mode, lhs, rhs, opts) + local options = { noremap = true } + if opts then + options = vim.tbl_extend("force", options, opts) + end + vim.api.nvim_set_keymap(mode, lhs, rhs, options) +end + +-- map("n", "", ":w:terminalracket -i -f " .. vim.fn.expand("%")) +map("n", "", ":w:ToggleTermracket -i -f ") diff --git a/.config/nvim/ftplugin/tex.lua b/.config/nvim/ftplugin/tex.lua new file mode 100644 index 0000000..1586492 --- /dev/null +++ b/.config/nvim/ftplugin/tex.lua @@ -0,0 +1,14 @@ +-- map the key (sequence) to a command +local function map(mode, lhs, rhs, opts) + local options = { noremap = true } + if opts then + options = vim.tbl_extend("force", options, opts) + end + vim.api.nvim_set_keymap(mode, lhs, rhs, options) +end + +map("i", "", ":w:!just") +map("n", "", ":w:!just") + +vim.cmd("inoremap : silent exec '.!inkscape-figures create \"'.getline('.').'\" \"'.b:vimtex.root.'/figures/\"':w") +vim.cmd("nnoremap : silent exec '!inkscape-figures edit \"'.b:vimtex.root.'/figures/\" > /dev/null 2>&1 &':redraw!") diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 7fcd4d1..b590b4d 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -30,9 +30,12 @@ opt("mouse", "a") vim.g.mapleader = " " vim.g.copilot_no_tab_map = true +vim.g.maplocalleader = "," require("plugins") require("mappings") require("treesitter") require("completion") require("lsp") +require("git") +require("neovide") diff --git a/.config/nvim/lua/git.lua b/.config/nvim/lua/git.lua new file mode 100644 index 0000000..050e79c --- /dev/null +++ b/.config/nvim/lua/git.lua @@ -0,0 +1 @@ +local neogit = require("neogit") diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua index 318781d..bf6df5b 100644 --- a/.config/nvim/lua/lsp.lua +++ b/.config/nvim/lua/lsp.lua @@ -5,62 +5,62 @@ local cmp_ultisnips_mappings = require("cmp_nvim_ultisnips.mappings") cmp.setup({ snippet = { - expand = function(args) - vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. - end, + expand = function(args) + vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. + end, }, window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), }, mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - [""] = cmp.mapping( - function(fallback) - cmp_ultisnips_mappings.expand_or_jump_forwards(fallback) - end - ), + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = cmp.mapping( + function(fallback) + cmp_ultisnips_mappings.expand_or_jump_forwards(fallback) + end + ), }), sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - { name = 'ultisnips' }, -- For ultisnips users. + { name = 'nvim_lsp' }, + { name = 'ultisnips' }, -- For ultisnips users. }, { - { name = 'buffer' }, + { name = 'buffer' }, }) - }) +}) - -- Set configuration for specific filetype. - cmp.setup.filetype('gitcommit', { +-- Set configuration for specific filetype. +cmp.setup.filetype('gitcommit', { sources = cmp.config.sources({ - { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. + { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. }, { - { name = 'buffer' }, + { name = 'buffer' }, }) - }) +}) - -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline('/', { +-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline('/', { mapping = cmp.mapping.preset.cmdline(), sources = { - { name = 'buffer' } + { name = 'buffer' } } - }) +}) - -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline(':', { +-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline(':', { mapping = cmp.mapping.preset.cmdline(), sources = cmp.config.sources({ - { name = 'path' } + { name = 'path' } }, { - { name = 'cmdline' } + { name = 'cmdline' } }) - }) +}) - local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()) +local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()) local on_attach = function(client, bufnr) local opts = { noremap = true, silent = true } @@ -129,9 +129,24 @@ lspconfig.tsserver.setup { lspconfig.java_language_server.setup { on_attach = on_attach, capabilities = capabilities, - cmd = { "/usr/share/java/java-language-server/lang_server_linux.sh" } + cmd = { "/usr/share/java/java-language-server/lang_server_linux.sh" }, + root_dir = lspconfig.util.root_pattern('*.iml', '.idea', 'build.xml', 'pom.xml', 'settings.gradle', + 'settings.gradle.kts') } +--lspconfig.jdtls.setup { +-- on_attach = on_attach, +-- capabilities = capabilities, +-- root_dir = lspconfig.util.root_pattern( +-- 'build.xml', +-- 'pom.xml', +-- 'settings.gradle', +-- 'settings.gradle.kts', +-- '*.iml', +-- '.idea' +-- ) +--} + lspconfig.racket_langserver.setup { on_attach = on_attach, capabilities = capabilities, diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua index 98fb017..c3b3b1f 100644 --- a/.config/nvim/lua/mappings.lua +++ b/.config/nvim/lua/mappings.lua @@ -8,7 +8,9 @@ local function map(mode, lhs, rhs, opts) end -- open terminal -map("n", "ot", ":ToggleTerm") +map("n", "ott", ":ToggleTerm") +map("n", "otf", ":ToggleTerm direction=float") +map("n", "otv", ":ToggleTerm direction=vertical") -- exit terminal mode map("t", "", "") @@ -23,3 +25,13 @@ map("n", "tg", ":Telescope live_grep") -- copilot map('i', '', 'copilot#Accept("")', {expr=true, silent=true}) + +-- neogit +map('n', 'gg', ':Neogit') + +-- symbols outline +map("n", "os", ":SymbolsOutline") + +-- leap +map("n", "", ":lua require('leap').leap {}") +map("n", "", ":lua require('leap').leap { backward = true }") diff --git a/.config/nvim/lua/neovide.lua b/.config/nvim/lua/neovide.lua new file mode 100644 index 0000000..5ca6793 --- /dev/null +++ b/.config/nvim/lua/neovide.lua @@ -0,0 +1,11 @@ +vim.opt.guifont = { "Source Code Pro", ":h10"} + +vim.g.neovide_hide_mouse_when_typing = true + +vim.g.neovide_refresh_rate = 60 +vim.g.neovide_refresh_rate_idle = 5 + +vim.g.neovide_remember_window_size = false + +vim.g.neovide_cursor_animation_length=0.08 +vim.g.neovide_cursor_trail_size = 0.6 diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 904d23b..1a0bdbc 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -13,6 +13,8 @@ packer.startup(function() use("neovim/nvim-lspconfig") use("j-hui/fidget.nvim") use("onsails/lspkind-nvim") + use("wlangstroth/vim-racket") + use("Olical/conjure") -- ui use("ayu-theme/ayu-vim") @@ -22,7 +24,8 @@ packer.startup(function() use("kyazdani42/nvim-web-devicons") use("kyazdani42/nvim-tree.lua") use("nvim-lualine/lualine.nvim") - use("akinsho/toggleterm.nvim") + use{"akinsho/toggleterm.nvim",branch="main"} + use("simrat39/symbols-outline.nvim") -- completion use("hrsh7th/cmp-nvim-lsp") @@ -39,6 +42,9 @@ packer.startup(function() use("davidgranstrom/nvim-markdown-preview") use("folke/todo-comments.nvim") use("lervag/vimtex") + use("TimUntersberger/neogit") + use("ggandor/leap.nvim") + use("eraserhd/parinfer-rust") if packer_bootstrap then require('packer').sync() @@ -132,10 +138,16 @@ vim.cmd[[ ]] -- todo-comments -require('todo-comments').setup {} +-- require('todo-comments').setup {} -- copilot vim.g.copilot_filetypes = { ['*'] = false, ['java'] = true, } + +-- symbols-outline +require('symbols-outline').setup {} + +-- leap +require('leap').setup {}