diff --git a/nvim/.config/nvim/.luarc.json b/nvim/.config/nvim/.luarc.json new file mode 100644 index 0000000..9f7d3ca --- /dev/null +++ b/nvim/.config/nvim/.luarc.json @@ -0,0 +1,8 @@ +{ + "runtime.version": "LuaJIT", + "rutime.path": ["lua/?.lua", "lua/?/init.lua"], + "diagnostics.globals": ["vim"], + "workspace.checkThirdParty": false, + "workspace.library": ["$VIMRUNTIME"] +} + diff --git a/nvim/.config/nvim/README.md b/nvim/.config/nvim/README.md deleted file mode 100644 index 54fbea2..0000000 --- a/nvim/.config/nvim/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# neovim config - -`neovim` configuration files. - -## Usage - -1. Install depencencies - * See one of the Dockerfiles in `dockerfiles` for the necessary packages - * Use a patched font (see, e.g., [nerd fonts](https://www.nerdfonts.com/)) -2. Clone repository into configuration directory: - ```bash - $ git clone ssh://git@git.mercurial-manifold.eu:2224/an.tsouchlos/config-nvim.git ~/.config/nvim - ``` -3. If desired, configure github copilot by running `:Copilot setup` - -## Build docker images - -### Arch linux - -Because AUR package installation requires the `fakeroot` command, which is -extremely slow when [no limit has been set on the maximum number of file -descriptors](https://github.com/moby/moby/issues/45436), the image has to -be build using the `--ulimit "nofile=1024:1048576"` option: - -```bash -$ docker build . -f dockerfiles/Dockerfile.archlinux --ulimit "nofile=1024:1048576" -t config -$ docker run --rm -it config -``` - -### Ubuntu - -Because neovim is installed through an `AppImage`, the container has to be -started with `--privileged` to be able to run `nvim`. - -```bash -$ docker build . -f dockerfiles/Dockerfile.ubuntu -t config -$ docker run --rm -it --privileged config -``` diff --git a/nvim/.config/nvim/dockerfiles/Dockerfile.arch b/nvim/.config/nvim/dockerfiles/Dockerfile.arch deleted file mode 100644 index 8d76f6a..0000000 --- a/nvim/.config/nvim/dockerfiles/Dockerfile.arch +++ /dev/null @@ -1,61 +0,0 @@ -FROM archlinux:latest - - -# -# General boiler plate -# - - -# Add mock non-root user for AUR package compilation - -RUN useradd --no-create-home --shell=/bin/false build && usermod -L build -RUN echo 'build ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers - -# Ready image for installation - -RUN pacman-key --init -RUN pacman-key --populate archlinux -RUN pacman -Sy archlinux-keyring --noconfirm && pacman -Su --noconfirm -RUN pacman -Syu --noconfirm - -# Install generic dependencies - -RUN pacman -S git wget sudo base-devel --noconfirm - - -# -# Neovim specific -# - - -# Install nvim - -RUN pacman -S neovim --noconfirm - -# Install nvim module dependencies - -RUN pacman -S python-pynvim --noconfirm # python3 provider -RUN pacman -S npm --noconfirm # mason requirements -RUN pacman -S fd ripgrep --noconfirm # Telescope requirements -RUN pacman -S powerline-fonts --noconfirm # vim-airline requirements -#RUN pacman -S autopep8 texlive-binextra \ -# perl-yaml-tiny perl-file-homedir --noconfirm # neoformat requirements - -WORKDIR /tmp - -USER build -ARG HOME=/tmp -RUN wget https://aur.archlinux.org/cgit/aur.git/snapshot/neovim-remote.tar.gz -RUN tar xzvf neovim-remote.tar.gz -RUN cd neovim-remote && makepkg -s --noconfirm - -USER root -RUN pacman -U neovim-remote/*.pkg.tar.zst --noconfirm # vimtex requirements - -WORKDIR / - -# Copy configuration - -RUN mkdir -p /root/.config/nvim -COPY . /root/.config/nvim - diff --git a/nvim/.config/nvim/dockerfiles/Dockerfile.devcontainer b/nvim/.config/nvim/dockerfiles/Dockerfile.devcontainer deleted file mode 100644 index 25b911f..0000000 --- a/nvim/.config/nvim/dockerfiles/Dockerfile.devcontainer +++ /dev/null @@ -1,96 +0,0 @@ -FROM ubuntu:22.04 - - -# -# General boiler plate -# - - -# Ready image for installation - -ARG DEBIAN_FRONTEND=noninteractive - -RUN apt update -y && apt upgrade -y - -# Install generic dependencies - -RUN apt install git python3 python3-pip sudo -y - -# Set up user - -ARG UNAME=dev -ARG UID=1000 -ARG GID=1000 -RUN groupadd -g $GID -o $UNAME -RUN useradd -m -u $UID -g $GID -o -s /bin/bash $UNAME -RUN adduser $UNAME sudo -RUN echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers.d/nopassword - - -# -# Install neovim -# - - -# Install neovim - -WORKDIR /tmp -RUN git clone https://github.com/neovim/neovim.git -WORKDIR /tmp/neovim -RUN git checkout stable -RUN apt install ninja-build gettext cmake unzip curl -y -RUN make CMAKE_BUILD_TYPE=Release -j `nproc` && make install -WORKDIR / - -# Install package dependencies - -RUN python3 -m pip install pynvim # python3 provider -RUN python3 -m pip install jupytext # jupytext requirements -RUN apt install fd-find ripgrep -y # Telescope requirements -RUN apt install fonts-powerline -y # vim-airline requirements -RUN python3 -m pip install neovim-remote # vimtex requirements -RUN apt install curl -y # vim-doge requirements -RUN apt install npm python3-venv luarocks -y # mason build requirements -RUN python3 -m pip install cairosvg pnglatex plotly kaleido pyperclip jupyter-client ipykernel # molten requirements - -# Configure - -RUN mkdir -p "/home/${UNAME}/.config/nvim" -COPY . "/home/${UNAME}/.config/nvim" -RUN chown -R $UNAME:$UNAME "/home/${UNAME}/.config" -USER $UNAME -RUN nvim --headless "+Lazy! sync" +qa -RUN nvim --headless "+MasonInstall clangd pyright cmake-language-server bash-language-server texlab clang-format latexindent mdformat autopep8" +qa -RUN nvim --headless "+TSInstallSync markdown" +qa # For some reason, without this markdown installation fails the first time -USER root - - -# -# Install other tools -# - - -# Install firefox -# (Taken from https://askubuntu.com/a/1404401) - -RUN apt install software-properties-common -y -RUN add-apt-repository ppa:mozillateam/ppa -RUN echo '\n\ -Package: *\n\ -Pin: release o=LP-PPA-mozillateam\n\ -Pin-Priority: 1001\n\n\ -Package: firefox\n\ -Pin: version 1:1snap1-0ubuntu2\n\ -Pin-Priority: -1\n\ -' | tee /etc/apt/preferences.d/mozilla-firefox -RUN apt install firefox -y -RUN echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox - -# Other stuff - -RUN apt install fzf xclip -y - -USER $UNAME -WORKDIR /home/$UNAME -CMD /bin/bash - diff --git a/nvim/.config/nvim/dockerfiles/Dockerfile.ubuntu b/nvim/.config/nvim/dockerfiles/Dockerfile.ubuntu deleted file mode 100644 index 8cf018a..0000000 --- a/nvim/.config/nvim/dockerfiles/Dockerfile.ubuntu +++ /dev/null @@ -1,52 +0,0 @@ -FROM ubuntu:22.04 - - -# -# General boiler plate -# - - -# Ready image for installation - -ARG DEBIAN_FRONTEND=noninteractive - -RUN apt update -y && apt upgrade -y - -# Install generic dependencies - -RUN apt install git python3 python3-pip -y - -# -# Install neovim -# - - -# Install neovim - -WORKDIR /tmp -RUN git clone https://github.com/neovim/neovim.git -WORKDIR /tmp/neovim -RUN git checkout stable -RUN apt install ninja-build gettext cmake unzip curl -y -RUN make CMAKE_BUILD_TYPE=Release -j `nproc` && make install -WORKDIR / - -# Install package dependencies - -RUN python3 -m pip install pynvim # python3 provider -RUN python3 -m pip install jupytext # jupytext requirements -RUN apt install fd-find ripgrep -y # Telescope requirements -RUN apt install fonts-powerline -y # vim-airline requirements -RUN python3 -m pip install neovim-remote # vimtex requirements -RUN apt install curl -y # vim-doge requirements -RUN apt install npm python3-venv luarocks -y # mason build requirements -RUN python3 -m pip install cairosvg pnglatex plotly kaleido pyperclip jupyter-client ipykernel # molten requirements - -# Configure - -RUN mkdir -p /root/.config/nvim -COPY . /root/.config/nvim -RUN nvim --headless "+Lazy! sync" +qa -RUN nvim --headless "+MasonInstall clangd pyright cmake-language-server bash-language-server texlab clang-format latexindent luaformatter mdformat autopep8" +qa -RUN nvim --headless "+TSInstallSync markdown" +qa # For some reason, without this markdown installation fails the first time - diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index edf424c..47e0b45 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -1,17 +1,2 @@ -require("set") -require("remap") - -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("plugins") +require('set') +require('plugins') diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json deleted file mode 100644 index 070ae26..0000000 --- a/nvim/.config/nvim/lazy-lock.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, - "alpha-nvim": { "branch": "main", "commit": "a35468cd72645dbd52c0624ceead5f301c566dff" }, - "auto-session": { "branch": "main", "commit": "fffb13dcbe8731b8650e5bf1caa749a485d20556" }, - "cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" }, - "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, - "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, - "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, - "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, - "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "copilot.lua": { "branch": "master", "commit": "c1bb86abbed1a52a11ab3944ef00c8410520543d" }, - "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, - "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gruvbox.nvim": { "branch": "main", "commit": "00e38a379bab3389e187b3953566d67d494dfddd" }, - "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, - "image.nvim": { "branch": "master", "commit": "4c51d6202628b3b51e368152c053c3fb5c5f76f2" }, - "jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lsp-colors.nvim": { "branch": "main", "commit": "2bbe7541747fd339bdd8923fc45631a09bb4f1e5" }, - "lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" }, - "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, - "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "markdown-toc.nvim": { "branch": "main", "commit": "5f51c86a416d7da6c0708d4ea354722fec7bb2b0" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "bb30c422329e86fcaa4e4920181f6715d634e516" }, - "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, - "molten-nvim": { "branch": "main", "commit": "a286aa914d9a154bc359131aab788b5a077a5a99" }, - "neoformat": { "branch": "master", "commit": "9d2e28993e06e86b88c364b6176612b917468f3e" }, - "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, - "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, - "nvim-dap": { "branch": "master", "commit": "2edd6375692d9ac1053d50acfe415c1eb2ba92d0" }, - "nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" }, - "nvim-lspconfig": { "branch": "master", "commit": "99d3a0f26bfe402f45257c1398287aef252cbe2d" }, - "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, - "oil.nvim": { "branch": "master", "commit": "08c2bce8b00fd780fb7999dbffdf7cd174e896fb" }, - "otter.nvim": { "branch": "main", "commit": "f3a401851c25c64220dcf2470252a1adc28308d5" }, - "overseer.nvim": { "branch": "master", "commit": "72c68aab0358c92f451168b704c411c4a3e3410e" }, - "pastify.nvim": { "branch": "main", "commit": "4a1d1e03c3ae725ee4af796deca8c7c169ef626e" }, - "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "quarto-nvim": { "branch": "main", "commit": "5325af3731ac9840b308791f08ad660958d76163" }, - "session-lens": { "branch": "main", "commit": "eae46b472b3150f5ec0f977556e8085683d49eb0" }, - "sqlite.nvim": { "branch": "master", "commit": "a8466c830a89794c2eafa41b41dd11fdf4a0d7ca" }, - "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, - "time-tracker.nvim": { "branch": "master", "commit": "c84998bbadb1afca8e09943b1c14bafe1711bb9a" }, - "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, - "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }, - "trouble.nvim": { "branch": "main", "commit": "3609bb9a82bbab1ef95cf2c27ce7e52267a7d40d" }, - "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, - "vim-doge": { "branch": "master", "commit": "03a84072ef21b205237c77986c78914395d646c3" }, - "vim-flog": { "branch": "master", "commit": "665b16ac8915f746bc43c9572b4581a5e9047216" }, - "vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" }, - "vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" }, - "vimtex": { "branch": "master", "commit": "e10525a5aa65e2544f11e680dd81c77fba800248" }, - "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } -} diff --git a/nvim/.config/nvim/lua/disabled_plugins/avante.lua b/nvim/.config/nvim/lua/disabled_plugins/avante.lua deleted file mode 100644 index 592503e..0000000 --- a/nvim/.config/nvim/lua/disabled_plugins/avante.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - "yetone/avante.nvim", - event = "VeryLazy", - lazy = false, - version = false, -- set this if you want to always pull the latest change - opts = { - provider = "copilot" - }, - build = "make", - dependencies = { - "stevearc/dressing.nvim", - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - --- The below dependencies are optional, - "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions - "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons - "zbirenbaum/copilot.lua" -- for providers='copilot' - } -} diff --git a/nvim/.config/nvim/lua/disabled_plugins/nvim_tree.lua b/nvim/.config/nvim/lua/disabled_plugins/nvim_tree.lua deleted file mode 100644 index 675c6ef..0000000 --- a/nvim/.config/nvim/lua/disabled_plugins/nvim_tree.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - { - 'nvim-tree/nvim-tree.lua', - cmd = { - "NvimTreeToggle", - "NvimTreeFocus" - }, - init = function() - vim.opt.termguicolors = true - vim.keymap.set('n', 'e', 'NvimTreeToggle', { - noremap = true, - silent = true, - desc = "Explorer" - }) - end, - config = function() require("nvim-tree").setup() end - } -} diff --git a/nvim/.config/nvim/lua/disabled_plugins/vim_be_good.lua b/nvim/.config/nvim/lua/disabled_plugins/vim_be_good.lua deleted file mode 100644 index 2b828c0..0000000 --- a/nvim/.config/nvim/lua/disabled_plugins/vim_be_good.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - { - "ThePrimeagen/vim-be-good", - cmd = { - "VimBeGood" - } - } -} diff --git a/nvim/.config/nvim/lua/remap.lua b/nvim/.config/nvim/lua/keymaps.lua similarity index 91% rename from nvim/.config/nvim/lua/remap.lua rename to nvim/.config/nvim/lua/keymaps.lua index 41ba1cd..fb2caee 100644 --- a/nvim/.config/nvim/lua/remap.lua +++ b/nvim/.config/nvim/lua/keymaps.lua @@ -20,5 +20,3 @@ vim.keymap.set("n", "q:", "") vim.cmd [[call nvim_create_user_command('W', 'w', {'nargs': 0})]] vim.keymap.set("n", "QQ", ":q!") - --- vim.keymap.set("n", "cb", [[:up | %bd | e#]]) diff --git a/nvim/.config/nvim/lua/overseer/template/user/cargo_build.lua b/nvim/.config/nvim/lua/overseer/template/user/cargo_build.lua deleted file mode 100644 index 1a48724..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/cargo_build.lua +++ /dev/null @@ -1,25 +0,0 @@ -return { - name = "Cargo Build", - builder = function() - local file = vim.fn.expand("%:p") - return { - cmd = { - "cargo" - }, - args = { - "build" - }, - components = { - { - "on_output_quickfix" - }, - "default" - } - } - end, - condition = { - filetype = { - "rust", - } - } -} diff --git a/nvim/.config/nvim/lua/overseer/template/user/cargo_clean.lua b/nvim/.config/nvim/lua/overseer/template/user/cargo_clean.lua deleted file mode 100644 index 35b29e3..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/cargo_clean.lua +++ /dev/null @@ -1,22 +0,0 @@ -return { - name = "Cargo Clean", - builder = function() - local file = vim.fn.expand("%:p") - return { - cmd = { - "cargo" - }, - args = { - "clean", - }, - components = { - "default" - } - } - end, - condition = { - filetype = { - "rust", - } - } -} diff --git a/nvim/.config/nvim/lua/overseer/template/user/cargo_run.lua b/nvim/.config/nvim/lua/overseer/template/user/cargo_run.lua deleted file mode 100644 index eae1511..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/cargo_run.lua +++ /dev/null @@ -1,22 +0,0 @@ -return { - name = "Cargo Run", - builder = function() - local file = vim.fn.expand("%:p") - return { - cmd = { - "cargo" - }, - args = { - "run" - }, - components = { - "default" - } - } - end, - condition = { - filetype = { - "rust" - } - } -} diff --git a/nvim/.config/nvim/lua/overseer/template/user/cargo_test.lua b/nvim/.config/nvim/lua/overseer/template/user/cargo_test.lua deleted file mode 100644 index fca2191..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/cargo_test.lua +++ /dev/null @@ -1,24 +0,0 @@ -return { - name = "Cargo Test", - builder = function() - return { - cmd = { - "cargo" - }, - args = { - "test", - }, - components = { - { - "on_output_quickfix" - }, - "default" - } - } - end, - condition = { - filetype = { - "rust", - } - } -} diff --git a/nvim/.config/nvim/lua/overseer/template/user/cmake_build.lua b/nvim/.config/nvim/lua/overseer/template/user/cmake_build.lua deleted file mode 100644 index ba9460b..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/cmake_build.lua +++ /dev/null @@ -1,28 +0,0 @@ -return { - name = "CMake Build", - builder = function() - local file = vim.fn.expand("%:p") - return { - cmd = { - "cmake" - }, - args = { - "--build", - "build", - "-j16" - }, - components = { - { - "on_output_quickfix" - }, - "default" - } - } - end, - condition = { - filetype = { - "cmake", - "cpp" - } - } -} diff --git a/nvim/.config/nvim/lua/overseer/template/user/cmake_clean.lua b/nvim/.config/nvim/lua/overseer/template/user/cmake_clean.lua deleted file mode 100644 index fed851d..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/cmake_clean.lua +++ /dev/null @@ -1,24 +0,0 @@ -return { - name = "CMake Clean", - builder = function() - local file = vim.fn.expand("%:p") - return { - cmd = { - "rm" - }, - args = { - "-r", - "build", - }, - components = { - "default" - } - } - end, - condition = { - filetype = { - "cmake", - "cpp" - } - } -} diff --git a/nvim/.config/nvim/lua/overseer/template/user/cmake_generate.lua b/nvim/.config/nvim/lua/overseer/template/user/cmake_generate.lua deleted file mode 100644 index f922107..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/cmake_generate.lua +++ /dev/null @@ -1,58 +0,0 @@ -return { - name = "CMake Generate", - params = { - build_type = { - type = "enum", - choices = { - "Debug", - "Release", - "RelWithDebInfo", - "MinSizeRel" - }, - default = "Release" - }, - generator = { - type = "enum", - choices = { - "Ninja", - "Unix Makefiles" - }, - default = "Ninja" - }, - compiler = { - type = "enum", - choices = { - "g++", - "clang++" - }, - default = "g++" - } - }, - builder = function(params) - return { - cmd = { - "cmake" - }, - args = { - "-B", - "build", - "-S", - ".", - "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON", - "-DCMAKE_BUILD_TYPE=" .. params.build_type, - "-DCMAKE_CXX_COMPILER=" .. params.compiler, - "-G", - params.generator - }, - components = { - "default" - } - } - end, - condition = { - filetype = { - "cmake", - "cpp" - } - } -} diff --git a/nvim/.config/nvim/lua/overseer/template/user/cmake_test.lua b/nvim/.config/nvim/lua/overseer/template/user/cmake_test.lua deleted file mode 100644 index 23bf155..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/cmake_test.lua +++ /dev/null @@ -1,27 +0,0 @@ -return { - name = "CMake Test", - builder = function() - return { - cmd = { - "ctest" - }, - args = { - "--test-dir", - "build", - "--output-on-failure", - }, - components = { - { - "on_output_quickfix" - }, - "default" - } - } - end, - condition = { - filetype = { - "cmake", - "cpp" - } - } -} diff --git a/nvim/.config/nvim/lua/overseer/template/user/python_run.lua b/nvim/.config/nvim/lua/overseer/template/user/python_run.lua deleted file mode 100644 index 860de41..0000000 --- a/nvim/.config/nvim/lua/overseer/template/user/python_run.lua +++ /dev/null @@ -1,22 +0,0 @@ -return { - name = "Python Run", - builder = function() - local file = vim.fn.expand("%:p") - return { - cmd = { - "python" - }, - args = { - file - }, - components = { - "default" - } - } - end, - condition = { - filetype = { - "python" - } - } -} diff --git a/nvim/.config/nvim/lua/plugins/alpha.lua b/nvim/.config/nvim/lua/plugins/alpha.lua index 199b9a6..9a71b73 100644 --- a/nvim/.config/nvim/lua/plugins/alpha.lua +++ b/nvim/.config/nvim/lua/plugins/alpha.lua @@ -1,7 +1,8 @@ -------------------- +-- +-- -- Helper functions -------------------- -local function clamp(x, min, max) return math.max(math.min(x, max), min) end +-- +-- local function get_random_image() local images = { @@ -54,11 +55,11 @@ local function get_random_image() } } - local pmf = {0.25, 0.25, 0.25, 0.25} + local pmf = { 0.25, 0.25, 0.25, 0.25 } local cdf = {} cdf[1] = 0 - for j = 2, #pmf+1 do + for j = 2, #pmf + 1 do cdf[j] = cdf[j - 1] + pmf[j - 1] end @@ -73,33 +74,29 @@ local function get_random_image() for j = 2, #cdf do if r <= cdf[j] * 100 then - return images[j-1] + return images[j - 1] end end end ------------------ --- Configurtation ------------------ +-- +-- +-- Plugin configuration +-- +-- -return { - { - "goolord/alpha-nvim", - lazy = false, - config = function() - local dashboard = require("alpha.themes.dashboard") - dashboard.section.header.val = get_random_image() - dashboard.section.buttons.val = { - dashboard.button('n', ' New file', ':ene startinsert '), - dashboard.button('r', ' Recent files', ':Telescope oldfiles '), - dashboard.button('f', '󰥨 Find file', ':Telescope find_files '), - dashboard.button('g', '󰱼 Find text', ':Telescope live_grep '), - dashboard.button('p', ' Open project', ':Telescope session-lens search_session'), - dashboard.button('l', '󰒲 Lazy', ':Lazy'), - dashboard.button('q', ' Quit', ':qa') - } +vim.pack.add({ "https://github.com/goolord/alpha-nvim" }) - require("alpha").setup(dashboard.opts) - end - } +local dashboard = require("alpha.themes.dashboard") +dashboard.section.header.val = get_random_image() +dashboard.section.buttons.val = { + dashboard.button('n', ' New file', ':ene startinsert '), + dashboard.button('r', ' Recent files', ':Telescope oldfiles '), + dashboard.button('f', '󰥨 Find file', ':Telescope find_files '), + dashboard.button('g', '󰱼 Find text', ':Telescope live_grep '), + dashboard.button('p', ' Open project', ':Telescope session-lens search_session'), + dashboard.button('l', '󰒲 Lazy', ':Lazy'), + dashboard.button('q', ' Quit', ':qa') } + +require("alpha").setup(dashboard.opts) diff --git a/nvim/.config/nvim/lua/plugins/auto_session.lua b/nvim/.config/nvim/lua/plugins/auto_session.lua deleted file mode 100644 index c95325a..0000000 --- a/nvim/.config/nvim/lua/plugins/auto_session.lua +++ /dev/null @@ -1,45 +0,0 @@ -return { - { - "rmagatti/auto-session", - lazy = false, - dependencies = { - "nvim-lualine/lualine.nvim" - }, - event = "VimEnter", - init = function() - vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions" - - vim.keymap.set('n', 'ss', 'SessionSave', { - desc = "Save" - }) - vim.keymap.set('n', 'sd', 'SessionDelete', { - desc = "Delete" - }) - end, - opts = { - log_level = "error", - auto_save_enabled = false - } - }, - { - 'rmagatti/session-lens', - cmd = { - "Autosession", - "SearchSession" - }, - dependencies = { - 'rmagatti/auto-session', - 'nvim-telescope/telescope.nvim' - }, - init = function() - vim.keymap.set('n', 'sf', function() require('session-lens').search_session() end, { - desc = "Find" - }) - end, - config = function() - require('session-lens').setup({ - prompt_title = 'Sessions' - }) - end - } -} diff --git a/nvim/.config/nvim/lua/plugins/autosession.lua b/nvim/.config/nvim/lua/plugins/autosession.lua new file mode 100644 index 0000000..f8f267e --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/autosession.lua @@ -0,0 +1,30 @@ +vim.pack.add({ + -- dependencies + { src = "https://github.com/nvim-lua/plenary.nvim" }, + { src = "https://github.com/nvim-telescope/telescope.nvim" }, + { src = "https://github.com/nvim-lualine/lualine.nvim" }, + -- plugin + { src = "https://github.com/rmagatti/auto-session" } +}) + +require("auto-session").setup({ + suppressed_dirs = { "~/", "~/Projects", "~/Downloads", "/" }, + log_level = "error", + auto_save_enabled = false, + session_lens = { + picker = "telescope", + load_on_setup = true, + mappings = { + delete_session = { "i", "" }, + alternate_session = { "i", "" }, + copy_session = { "i", "" }, + }, + }, +}) + +vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions" + +vim.keymap.set('n', 'ss', 'AutoSession save', { desc = "Save" }) +vim.keymap.set('n', 'sd', 'AutoSession delete', { desc = "Delete" }) + +vim.keymap.set('n', 'fs', 'Telescope session-lens', { desc = "Session-lens" }) diff --git a/nvim/.config/nvim/lua/plugins/cellular_automaton.lua b/nvim/.config/nvim/lua/plugins/cellular_automaton.lua deleted file mode 100644 index b0b4076..0000000 --- a/nvim/.config/nvim/lua/plugins/cellular_automaton.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - { - 'Eandrju/cellular-automaton.nvim', - cmd = { - "CellularAutomaton" - }, - init = function() vim.keymap.set("n", "fu", "CellularAutomaton make_it_rain") end - } -} diff --git a/nvim/.config/nvim/lua/plugins/csvview.lua b/nvim/.config/nvim/lua/plugins/csvview.lua deleted file mode 100644 index aea72a6..0000000 --- a/nvim/.config/nvim/lua/plugins/csvview.lua +++ /dev/null @@ -1,26 +0,0 @@ -return { - "hat0uma/csvview.nvim", - ---@module "csvview" - ---@type CsvView.Options - opts = { - parser = { comments = { "#", "//" } }, - keymaps = { - -- Text objects for selecting fields - textobject_field_inner = { "if", mode = { "o", "x" } }, - textobject_field_outer = { "af", mode = { "o", "x" } }, - -- Excel-like navigation: - -- Use and to move horizontally between fields. - -- Use and to move vertically between rows and place the cursor at the end of the field. - -- Note: In terminals, you may need to enable CSI-u mode to use and . - jump_next_field_end = { "", mode = { "n", "v" } }, - jump_prev_field_end = { "", mode = { "n", "v" } }, - jump_next_row = { "", mode = { "n", "v" } }, - jump_prev_row = { "", mode = { "n", "v" } }, - }, - }, - cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" }, - init = function() - vim.keymap.set("n", "ce", ":CsvViewEnable display_mode=border header_lnum=1") - vim.keymap.set("n", "cd", ":CsvViewDisable") - end -} diff --git a/nvim/.config/nvim/lua/plugins/dap.lua b/nvim/.config/nvim/lua/plugins/dap.lua deleted file mode 100644 index 14d7ca6..0000000 --- a/nvim/.config/nvim/lua/plugins/dap.lua +++ /dev/null @@ -1,154 +0,0 @@ -return { - { - 'mfussenegger/nvim-dap', - config = function() - local dap = require("dap") - dap.adapters.gdb = { - type = "executable", - command = "gdb", - args = { - "-i", - "dap" - } - } - dap.adapters.python = function(cb, config) - if config.request == 'attach' then - local port = (config.connect or config).port - local host = (config.connect or config).host or '127.0.0.1' - cb({ - type = 'server', - port = assert(port, '`connect.port` is required for a python `attach` configuration'), - host = host, - options = { - source_filetype = 'python' - } - }) - else - cb({ - type = 'executable', - command = 'python', - args = { - '-m', - 'debugpy.adapter' - }, - options = { - source_filetype = 'python' - } - }) - end - end - dap.configurations.c = { - { - name = "Launch", - type = "gdb", - request = "launch", - program = function() - return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') - end, - cwd = "${workspaceFolder}", - stopAtBeginningOfMainSubprogram = false - } - } - dap.configurations.cpp = { - { - name = "Launch", - type = "gdb", - request = "launch", - program = function() - return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') - end, - cwd = "${workspaceFolder}", - stopAtBeginningOfMainSubprogram = false - } - } - dap.configurations.python = { - { - type = 'python', - request = 'launch', - name = "Launch file", - - program = "${file}", - pythonPath = function() - local cwd = vim.fn.getcwd() - if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then - return cwd .. '/venv/bin/python' - elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then - return cwd .. '/.venv/bin/python' - else - return '/usr/bin/python' - end - end - } - } - - vim.keymap.set("n", "db", "DapToggleBreakpoint", { - desc = "Toggle breakpoint" - }) - vim.keymap.set("n", "dc", "DapContinue", { - desc = "Continue" - }) - vim.keymap.set("n", "dt", "DapTerminate", { - desc = "Terminate" - }) - vim.keymap.set("n", "di", "DapStepInto", { - desc = "Step into" - }) - vim.keymap.set("n", "dn", "DapStepOver", { - desc = "Step over" - }) - vim.keymap.set("n", "do", "DapStepOut", { - desc = "Step out" - }) - vim.keymap.set("n", 'dh', function() require('dap.ui.widgets').hover() end, { - desc = "Hover" - }) - end - }, - { - "rcarriga/nvim-dap-ui", - dependencies = { - "mfussenegger/nvim-dap", - "nvim-neotest/nvim-nio" - }, - config = function() - require("dapui").setup({ - controls = { - enabled = false - }, - layouts = { - { - elements = { - { - id = "scopes", - size = 0.33 - }, - { - id = "breakpoints", - size = 0.33 - }, - { - id = "stacks", - size = 0.33 - } - }, - position = "left", - size = 60 - }, - { - elements = { - { - id = "repl", - size = 1 - } - }, - position = "bottom", - size = 15 - } - } - }) - vim.keymap.set("n", "du", function() require("dapui").toggle() end, { - desc = " Toggle UI" - }) - end - } -} diff --git a/nvim/.config/nvim/lua/plugins/doge.lua b/nvim/.config/nvim/lua/plugins/doge.lua deleted file mode 100644 index 25c22c7..0000000 --- a/nvim/.config/nvim/lua/plugins/doge.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - { - 'kkoomen/vim-doge', - build = ':call doge#install()', - init = function() - vim.g.doge_enable_mappings = 0 - vim.g.doge_doc_standard_cpp = 'doxygen_cpp_comment_slash' - vim.g.doge_mapping_comment_jump_forward = '' - vim.g.doge_mapping_comment_jump_backward = '' - - vim.keymap.set('n', 'gd', '(doge-generate)', { silent = true, desc = "Generate doc"}) - -- nmap d (doge-generate) - end - } -} diff --git a/nvim/.config/nvim/lua/plugins/dressing.lua b/nvim/.config/nvim/lua/plugins/dressing.lua deleted file mode 100644 index 61ca251..0000000 --- a/nvim/.config/nvim/lua/plugins/dressing.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - { - 'stevearc/dressing.nvim', - event = 'VimEnter' - } -} diff --git a/nvim/.config/nvim/lua/plugins/git.lua b/nvim/.config/nvim/lua/plugins/git.lua index 3d362d9..cab52b4 100644 --- a/nvim/.config/nvim/lua/plugins/git.lua +++ b/nvim/.config/nvim/lua/plugins/git.lua @@ -1,22 +1,6 @@ -return { - { - 'tpope/vim-fugitive', - cmd = { - "Git" - }, - init = function() vim.keymap.set("n", "gs", vim.cmd.Git) end - }, - { - 'rbong/vim-flog', - cmd = { - "Flog", - "Floggit", - "Flogsplit" - }, - dependencies = { - { - 'tpope/vim-fugitive' - } - } - } -} +vim.pack.add({ + { src = "https://github.com/tpope/vim-fugitive" }, + { src = "https://github.com/rbong/vim-flog" } +}) + +vim.keymap.set("n", "gs", vim.cmd.Git) diff --git a/nvim/.config/nvim/lua/plugins/harpoon.lua b/nvim/.config/nvim/lua/plugins/harpoon.lua index c0f4f08..9370469 100644 --- a/nvim/.config/nvim/lua/plugins/harpoon.lua +++ b/nvim/.config/nvim/lua/plugins/harpoon.lua @@ -1,21 +1,21 @@ -return { +vim.pack.add({ { - "ThePrimeagen/harpoon", - -- branch = "harpoon2", - dependencies = { - { - "nvim-lua/plenary.nvim" - } - }, - init = function() - vim.keymap.set("n", "", function() require("harpoon.ui").toggle_quick_menu() end, {desc = "Toggle harpoon ui"}) - vim.keymap.set("n", "a", function() require("harpoon.mark").add_file() end, {desc = "Add to harpoon list"}) - - vim.keymap.set("n", "", function() require("harpoon.ui").nav_file(1) end) - vim.keymap.set("n", "", function() require("harpoon.ui").nav_file(2) end) - vim.keymap.set("n", "", function() require("harpoon.ui").nav_file(3) end) - vim.keymap.set("n", "", function() require("harpoon.ui").nav_file(4) end) - end + src = "https://github.com/nvim-lua/plenary.nvim" + }, + { + src = "https://github.com/ThePrimeagen/harpoon", + version = "harpoon2", } +}) -} +local harpoon = require("harpoon") + +harpoon:setup() + +vim.keymap.set("n", "a", function() harpoon:list():add() end) +vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) + +vim.keymap.set("n", "", function() harpoon:list():select(1) end) +vim.keymap.set("n", "", function() harpoon:list():select(2) end) +vim.keymap.set("n", "", function() harpoon:list():select(3) end) +vim.keymap.set("n", "", function() harpoon:list():select(4) end) diff --git a/nvim/.config/nvim/lua/plugins/init.lua b/nvim/.config/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..517f31e --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/init.lua @@ -0,0 +1,10 @@ +local plugin_dir = vim.fn.stdpath('config') .. '/lua/plugins' +local plugin_files = vim.fn.glob(plugin_dir .. '/*.lua', false, true) + +for _, file in ipairs(plugin_files) do + local plugin_name = vim.fn.fnamemodify(file, ':t:r') + + if plugin_name ~= "init" then + require('plugins.' .. plugin_name) + end +end diff --git a/nvim/.config/nvim/lua/plugins/lazy.lua b/nvim/.config/nvim/lua/plugins/lazy.lua deleted file mode 100644 index 4895614..0000000 --- a/nvim/.config/nvim/lua/plugins/lazy.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - { - "folke/lazy.nvim", - tag = "stable" - } -} diff --git a/nvim/.config/nvim/lua/plugins/lsp.lua b/nvim/.config/nvim/lua/plugins/lsp.lua index 76556d2..47c21ca 100644 --- a/nvim/.config/nvim/lua/plugins/lsp.lua +++ b/nvim/.config/nvim/lua/plugins/lsp.lua @@ -1,193 +1,95 @@ -return { - { - { - 'VonHeikemen/lsp-zero.nvim', - branch = 'v3.x', - lazy = true, - config = false, - init = function() - -- Disable automatic setup, we are doing it manually - vim.g.lsp_zero_extend_cmp = 0 - vim.g.lsp_zero_extend_lspconfig = 0 +-- +-- +-- Plugin config +-- +-- + +vim.pack.add({ + { src = "https://github.com/neovim/nvim-lspconfig" }, + { src = "https://github.com/mason-org/mason-lspconfig.nvim" }, + { src = "https://github.com/mason-org/mason.nvim" }, +}) + +require("mason").setup() +require("mason-lspconfig").setup() + +-- +-- +-- Diagnostic config +-- +-- + +vim.diagnostic.config({ + virtual_text = true, + float = true, + severity_sort = true, +}) + + + + + +-- +-- +-- Completion & Formatting +-- +-- + +vim.o.completeopt = "menu,menuone,noinsert,fuzzy" +vim.api.nvim_set_keymap("i", "", "", { noremap = true }) + +vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('my.lsp', {}), + callback = function(args) + local client = assert(vim.lsp.get_client_by_id(args.data.client_id)) + + -- Make tab accept the selected completion + vim.keymap.set('i', '', function() + if vim.fn.pumvisible() == 1 then + return '' + else + return '' end - }, - { - 'williamboman/mason.nvim', - lazy = false, - opts = { - registries = { - "github:antsouchlos/mason-registry", - "github:mason-org/mason-registry" - } - } - }, + end, { expr = true }) - -- Autocompletion - { - 'hrsh7th/nvim-cmp', - event = 'InsertEnter', - dependencies = { - 'L3MON4D3/LuaSnip', - 'hrsh7th/cmp-buffer', - 'hrsh7th/cmp-path', - 'hrsh7th/cmp-cmdline', - 'hrsh7th/cmp-nvim-lsp-signature-help', - 'saadparwaiz1/cmp_luasnip' - }, - config = function() - local lsp_zero = require('lsp-zero') - lsp_zero.extend_cmp() - - local cmp = require('cmp') - - cmp.setup({ - sources = { - -- LuaFormatter off - { name = 'path' }, - { name = 'nvim_lsp' }, - { name = 'nvim_lua' }, - { name = 'luasnip', keyword_length = 2 }, - { name = 'buffer', keyword_length = 3 }, - { name = 'nvim_lsp_signature_help' } - -- LuaFormatter on - }, - formatting = lsp_zero.cmp_format(), - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.select_prev_item(cmp_select), - [''] = cmp.mapping.select_next_item(cmp_select), - [''] = cmp.mapping.confirm({ - select = true - }), - [''] = cmp.mapping.complete() - }), - snippet = { - expand = function(args) require('luasnip').lsp_expand(args.body) end - } - }) - - cmp.setup.filetype('gitcommit', { - -- LuaFormatter off - sources = cmp.config.sources( - { { name = 'git' } }, - { { name = 'buffer' } } - ) - -- LuaFormatter on - }) - - cmp.setup.cmdline({ - '/', - '?' - }, { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { - name = 'buffer' - } - } - }) - - cmp.setup.cmdline(':', { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { - name = 'path' - } - }, { - { - name = 'cmdline' - } - }) - }) + -- Make enter just insert a newline (don't accept completion) + vim.keymap.set('i', '', function() + if vim.fn.pumvisible() == 1 then + return '' + else + return '' end - }, + end, { expr = true }) - -- LSP - { - 'neovim/nvim-lspconfig', - cmd = { - 'LspInfo', - 'LspInstall', - 'LspStart' - }, - event = { - 'BufReadPre', - 'BufNewFile' - }, - dependencies = { - 'hrsh7th/cmp-nvim-lsp', - 'williamboman/mason-lspconfig.nvim', - "folke/trouble.nvim" - }, - config = function() - local lsp_zero = require('lsp-zero') - lsp_zero.extend_lspconfig() + if client:supports_method('textDocument/completion') then + -- Trigger autocompletion on every keypress + local chars = {}; for i = 32, 126 do table.insert(chars, string.char(i)) end + client.server_capabilities.completionProvider.triggerCharacters = chars - lsp_zero.on_attach(function(client, bufnr) - vim.keymap.set("n", "ld", function() vim.lsp.buf.definition() end, { - desc = "Go to definition" - }) - vim.keymap.set("n", "lh", function() vim.lsp.buf.hover() end, { - desc = "Hover" - }) - vim.keymap.set("n", "lr", ":Trouble lsp_references", { - desc = "Show references" - }) - vim.keymap.set("n", "ln", function() vim.lsp.buf.rename() end, { - desc = "Rename" - }) - vim.keymap.set("n", "ls", function() vim.lsp.buf.signature_help() end, { - desc = "Signature help" - }) - vim.keymap.set("n", "la", function() vim.lsp.buf.code_action() end, { - desc = "Code actions" - }) - end) + vim.lsp.completion.enable(true, client.id, args.buf, { autotrigger = true }) + end - require('mason-lspconfig').setup({ - ensure_installed = { - 'clangd', - 'pyright', - 'cmake', - 'texlab' - }, - handlers = { - lsp_zero.default_setup, - lua_ls = function() - local lua_opts = lsp_zero.nvim_lua_ls() - require('lspconfig').lua_ls.setup(lua_opts) - end - } - }) + vim.keymap.set('n', '', + function() vim.lsp.buf.format() end, + { + desc = "Format", + noremap = true, + silent = true + }) + vim.keymap.set('i', '', + function() vim.lsp.buf.format() end, + { + desc = "Format", + noremap = true, + silent = true + }) - require('lspconfig')['clangd'].setup { - cmd = { - "clangd", - "--background-index", - "--clang-tidy", - "--completion-style=bundled", - "--cross-file-rename", - "--header-insertion=iwyu", - -- Required for embedded system compilers - "--query-driver=/**/*g++", - "--offset-encoding=utf-16" - -- "-j=8", - -- "--malloc-trim", - -- "--pch-storage=memory" - } - } + vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, { + desc = "Go to definition" + }) - -- require('lspconfig').matlab_ls.setup({ - -- settings = { - -- filetypes = { - -- "matlab" - -- }, - -- matlab = { - -- installPath = "/opt/matlab/R2023a/" - -- } - -- }, - -- single_file_support = true - -- }) - end - } - } -} + vim.keymap.set("n", "grr", ":Trouble lsp_references", { + desc = "Show references" + }) + end, +}) diff --git a/nvim/.config/nvim/lua/plugins/lua_copilot.lua b/nvim/.config/nvim/lua/plugins/lua_copilot.lua deleted file mode 100644 index 9f82a8f..0000000 --- a/nvim/.config/nvim/lua/plugins/lua_copilot.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - "zbirenbaum/copilot.lua", - cmd = "Copilot", - -- event = "InsertEnter", - opts = { - suggestion = { - enabled = true, - auto_trigger = true, - keymap = { - accept = "" - -- accept_word = false, - -- accept_line = false, - -- next = "", - -- prev = "", - -- dismiss = "" - } - } - } -} diff --git a/nvim/.config/nvim/lua/plugins/lualine.lua b/nvim/.config/nvim/lua/plugins/lualine.lua index 35fcfef..f3dd63a 100644 --- a/nvim/.config/nvim/lua/plugins/lualine.lua +++ b/nvim/.config/nvim/lua/plugins/lualine.lua @@ -1,32 +1,18 @@ -return { - { - 'nvim-lualine/lualine.nvim', - event = "VimEnter", - dependencies = { - 'nvim-tree/nvim-web-devicons' - }, - opts = { - options = { - theme = 'gruvbox_dark' - }, - extensions = { - 'nvim-tree', - 'trouble', - 'mason', - 'lazy', - 'toggleterm' - }, - sections = { - lualine_x = { - { - require("noice").api.statusline.mode.get, - cond = require("noice").api.statusline.mode.has, - color = { - fg = "#ff9e64" - } - } - } - } - } - } -} +vim.pack.add({ + { src = "https://github.com/nvim-tree/nvim-web-devicons" }, + { src = "https://github.com/nvim-lualine/lualine.nvim" } +}) + +require("lualine").setup({ + options = { + theme = 'gruvbox_dark' + }, + extensions = { + 'nvim-tree', + 'trouble', + 'mason', + 'lazy', + 'toggleterm' + }, + sections = { lualine_x = { { color = { fg = "#ff9e64" } } } } +}) diff --git a/nvim/.config/nvim/lua/plugins/luasnip.lua b/nvim/.config/nvim/lua/plugins/luasnip.lua deleted file mode 100644 index df3e55e..0000000 --- a/nvim/.config/nvim/lua/plugins/luasnip.lua +++ /dev/null @@ -1,48 +0,0 @@ -return { - { - "L3MON4D3/LuaSnip", - dependencies = { - { - 'rafamadriz/friendly-snippets' - } - }, - version = "v2.*", - build = "make install_jsregexp", - event = { - "InsertEnter" - }, - init = function() - vim.keymap.set({ - "i" - }, "", function() require("luasnip").expand() end, { - silent = true - }) - vim.keymap.set({ - "i", - "s" - }, "", function() require("luasnip").jump(1) end, { - silent = true - }) - vim.keymap.set({ - "i", - "s" - }, "", function() require("luasnip").jump(-1) end, { - silent = true - }) - - end, - config = function() - local loader = require("luasnip.loaders.from_lua") - loader.lazy_load({ - paths = { - "./snippets" - } - }) - - require("luasnip").config.set_config({ - enable_autosnippets = true, - store_selection_keys = "v" - }) - end - } -} diff --git a/nvim/.config/nvim/lua/plugins/markdown_preview.lua b/nvim/.config/nvim/lua/plugins/markdown_preview.lua deleted file mode 100644 index 0780a74..0000000 --- a/nvim/.config/nvim/lua/plugins/markdown_preview.lua +++ /dev/null @@ -1,27 +0,0 @@ -return { - -- Install markdown preview, use npx if available. - "iamcco/markdown-preview.nvim", - cmd = { - "MarkdownPreviewToggle", - "MarkdownPreview", - "MarkdownPreviewStop" - }, - ft = { - "markdown" - }, - build = function(plugin) - if vim.fn.executable "npx" then - vim.cmd("!cd " .. plugin.dir .. " && cd app && npx --yes yarn install") - else - vim.cmd [[Lazy load markdown-preview.nvim]] - vim.fn["mkdp#util#install"]() - end - end, - init = function() - if vim.fn.executable "npx" then - vim.g.mkdp_filetypes = { - "markdown" - } - end - end -} diff --git a/nvim/.config/nvim/lua/plugins/markdown_toc.lua b/nvim/.config/nvim/lua/plugins/markdown_toc.lua deleted file mode 100644 index daec78a..0000000 --- a/nvim/.config/nvim/lua/plugins/markdown_toc.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - "hedyhli/markdown-toc.nvim", - cmd = { - "Mtoc" - }, -- Or, lazy load on "Mtoc" command - opts = {} -} diff --git a/nvim/.config/nvim/lua/plugins/molten.lua b/nvim/.config/nvim/lua/plugins/molten.lua deleted file mode 100644 index afc5f24..0000000 --- a/nvim/.config/nvim/lua/plugins/molten.lua +++ /dev/null @@ -1,90 +0,0 @@ -return { - { -- Ability to show images in the output - "3rd/image.nvim", - opts = {} - }, { -- Use LSP in markdown files - "quarto-dev/quarto-nvim", - dependencies = {"jmbuhr/otter.nvim", "nvim-treesitter/nvim-treesitter"}, - ft = {"quarto", "markdown"}, - init = function() - vim.api.nvim_create_autocmd('FileType', { - pattern = 'markdown', - callback = function() - require("quarto").activate() - end - }) - - -- local runner = require("quarto.runner") - -- vim.keymap.set("n", "rc", runner.run_cell, { - -- desc = "run cell", - -- silent = true - -- }) - -- vim.keymap.set("n", "ra", runner.run_above, { - -- desc = "run cell and above", - -- silent = true - -- }) - -- vim.keymap.set("n", "rA", runner.run_all, { - -- desc = "run all cells", - -- silent = true - -- }) - -- vim.keymap.set("n", "rl", runner.run_line, { - -- desc = "run line", - -- silent = true - -- }) - -- vim.keymap.set("v", "r", runner.run_range, { - -- desc = "run visual range", - -- silent = true - -- }) - -- vim.keymap.set("n", "RA", function() runner.run_all(true) end, { - -- desc = "run all cells of all languages", - -- silent = true - -- }) - end, - opts = { - lspFeatures = { - languages = {"r", "python", "rust", "julia"}, - chunks = "all", - diagnostics = {enabled = true, triggers = {"BufWritePost"}}, - completion = {enabled = true} - }, - keymap = { - hover = "H", - definition = "gd", - rename = "rn", - references = "gr", - format = "gf" - }, - codeRunner = {enabled = true, default_method = "molten"} - } - }, { -- Convert ipynb to markdown and back - "GCBallesteros/jupytext.nvim", - opts = { - style = "markdown", - output_extension = "md", - force_ft = "markdown" - } - }, { -- Interactive code evaluation - "benlubas/molten-nvim", - version = "^1.0.0", -- use version <2.0.0 to avoid breaking changes - build = ":UpdateRemotePlugins", - init = function() - vim.keymap.set("n", "mi", ":MoltenInit", - {silent = true, desc = "Initialize the plugin"}) - vim.keymap.set("n", "e", ":MoltenEvaluateOperator", - {silent = true, desc = "run operator selection"}) - vim.keymap.set("n", "rl", ":MoltenEvaluateLine", - {silent = true, desc = "evaluate line"}) - vim.keymap.set("n", "rr", ":MoltenReevaluateCell", - {silent = true, desc = "re-evaluate cell"}) - vim.keymap.set("v", "r", - ":MoltenEvaluateVisualgv", - {silent = true, desc = "evaluate visual selection"}) - - vim.g.molten_image_provider = "image.nvim" - - vim.g.molten_auto_open_output = false - vim.g.molten_virt_text_output = true - vim.g.molten_virt_text_max_lines = 32 - end - } -} diff --git a/nvim/.config/nvim/lua/plugins/neoformat.lua b/nvim/.config/nvim/lua/plugins/neoformat.lua deleted file mode 100644 index b41e2e9..0000000 --- a/nvim/.config/nvim/lua/plugins/neoformat.lua +++ /dev/null @@ -1,127 +0,0 @@ -return { - { - 'sbdchd/neoformat', - event = { - "BufReadPost", - "BufNewFile" - }, - init = function() - ---------------- - -- Formatters - ---------------- - - vim.api.nvim_create_autocmd("FileType", { - pattern = "python", - callback = function() - -- vim.g.neoformat_python_autopep8 = { - -- exe = 'autopep8', - -- args = {'--max-line-length', '79', '--experimental'}, - -- -- replace = 1 - -- } - -- vim.g.neoformat_enabled_python = { - -- 'autopep8' - -- } - vim.g.neoformat_enabled_python = { - 'ruff' - } - end - }) - - vim.api.nvim_create_autocmd("FileType", { - pattern = { - "cpp", - "c" - }, - callback = function() - vim.g.neoformat_enabled_cpp = { - 'clangformat' - } - vim.g.neoformat_enabled_c = { - 'clangformat' - } - end - }) - - vim.api.nvim_create_autocmd("FileType", { - pattern = "lua", - callback = function() - vim.g.neoformat_enable_lua = { - 'luaformatter' - } - end - }) - - vim.api.nvim_create_autocmd("FileType", { - pattern = "cmake", - callback = function() - vim.g.neoformat_enabled_cmake = { - 'cmake-format' - } - end - }) - - -- Commented out rust formatter - -- vim.api.nvim_create_autocmd("FileType", { - -- pattern = "rust", - -- callback = function() - -- vim.g.neoformat_enabled_rust = {'rustfmt'} - -- end - -- }) - - vim.api.nvim_create_autocmd("FileType", { - pattern = "markdown", - callback = function() - vim.g.neoformat_markdown_mdformat = { - exe = 'mdformat', - args = { - '--wrap=79', - '--number' - }, - replace = 1 - } - vim.g.neoformat_enabled_markdown = { - 'mdformat' - } - end - }) - - vim.api.nvim_create_autocmd("FileType", { - pattern = "tex", - callback = function() - vim.g.neoformat_tex_texfmt = { - exe = "tex-fmt", - args = { - "--stdin", - "--tabsize", - "4" - }, - stdin = 1 - } - vim.g.neoformat_enabled_tex = { - "texfmt" - } - end - }) - - ---------------- - -- Other - ---------------- - - -- vim.cmd([[ - -- augroup Neoformat - -- autocmd! - -- autocmd BufWritePre * undojoin | Neoformat - -- augroup END - -- ]]) - - vim.api.nvim_set_keymap('n', '', 'Neoformat', { - noremap = true, - silent = true - }) - vim.api.nvim_set_keymap('i', '', 'Neoformat', { - noremap = true, - silent = true - }) - end - } -} diff --git a/nvim/.config/nvim/lua/plugins/noice.lua b/nvim/.config/nvim/lua/plugins/noice.lua deleted file mode 100644 index 59c89b9..0000000 --- a/nvim/.config/nvim/lua/plugins/noice.lua +++ /dev/null @@ -1,38 +0,0 @@ --- lazy.nvim -return { - "folke/noice.nvim", - event = "VeryLazy", - opts = { - lsp = { - signature = { - enabled = false - }, - hover = { - enabled = false - } - }, - views = { - cmdline_popup = { - backend = "popup", - relative = "editor", - position = { - row = -1, - col = "0%" - }, - border = { - style = "none" - } - }, - cmdline_popupmenu = { - relative = "editor", - position = { - row = -2, - col = "0%" - } - } - } - }, - dependencies = { - "MunifTanjim/nui.nvim" - } -} diff --git a/nvim/.config/nvim/lua/plugins/oil.lua b/nvim/.config/nvim/lua/plugins/oil.lua index 6b3a8f0..da2c38c 100644 --- a/nvim/.config/nvim/lua/plugins/oil.lua +++ b/nvim/.config/nvim/lua/plugins/oil.lua @@ -1,13 +1,4 @@ -return { - 'stevearc/oil.nvim', - opts = {}, - dependencies = { - "nvim-tree/nvim-web-devicons" - }, - init = function() - vim.keymap.set("n", "-", "Oil", { - desc = "Open parent directory" - }) - end, - lazy = false -} +vim.pack.add({"https://github.com/stevearc/oil.nvim"}) +require("oil").setup() + +vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory" }) diff --git a/nvim/.config/nvim/lua/plugins/overseer.lua b/nvim/.config/nvim/lua/plugins/overseer.lua deleted file mode 100644 index b8778a0..0000000 --- a/nvim/.config/nvim/lua/plugins/overseer.lua +++ /dev/null @@ -1,32 +0,0 @@ -return { - "stevearc/overseer.nvim", - config = function() - require("overseer").setup({ - templates = { --- "builtin", - "user.cargo_build", - "user.cargo_clean", - "user.cargo_run", - "user.cargo_test", - "user.cmake_generate", - "user.cmake_build", - "user.cmake_clean", - "user.cmake_test", - "user.python_run" - } - }) - - vim.keymap.set("n", "oo", function() require("overseer").toggle() end, { - desc = "Toggle" - }) - vim.keymap.set("n", "or", ":OverseerRun", { - desc = "Run" - }) - vim.keymap.set("n", "oq", ":OverseerQuickAction", { - desc = "Quick Action" - }) - vim.keymap.set("n", "of", ":OverseerQuickAction open float", { - desc = "Open Float" - }) - end -} diff --git a/nvim/.config/nvim/lua/plugins/pastify.lua b/nvim/.config/nvim/lua/plugins/pastify.lua deleted file mode 100644 index 0680cd8..0000000 --- a/nvim/.config/nvim/lua/plugins/pastify.lua +++ /dev/null @@ -1,41 +0,0 @@ -return { - 'TobinPalmer/pastify.nvim', - cmd = { - 'Pastify', - 'PastifyAfter' - }, - -- event = { - -- 'BufReadPost' - -- }, -- Load after the buffer is read, I like to be able to paste right away - keys = { - { - noremap = true, - mode = "x", - 'v', - "PastifyAfter" - }, - { - noremap = true, - mode = "n", - 'v', - "PastifyAfter" - }, - { - noremap = true, - mode = "n", - 'V', - "Pastify" - } - }, - config = function() - require('pastify').setup { - opts = { - local_path = '/res/' - }, - ft = { - markdown = "![image]($IMG$)" - } - } - end -} - diff --git a/nvim/.config/nvim/lua/plugins/surround.lua b/nvim/.config/nvim/lua/plugins/surround.lua index dbcb380..06f2587 100644 --- a/nvim/.config/nvim/lua/plugins/surround.lua +++ b/nvim/.config/nvim/lua/plugins/surround.lua @@ -1,6 +1 @@ -return { - { - "tpope/vim-surround", - event = "InsertEnter" - } -} +vim.pack.add({"https://github.com/tpope/vim-surround"}) diff --git a/nvim/.config/nvim/lua/plugins/telescope.lua b/nvim/.config/nvim/lua/plugins/telescope.lua index a3dd144..eddfe38 100644 --- a/nvim/.config/nvim/lua/plugins/telescope.lua +++ b/nvim/.config/nvim/lua/plugins/telescope.lua @@ -1,50 +1,17 @@ --- ----------------- --- -- Helper Functions --- ------------------- --- -- If in a git repo, execute the given function with the option --- -- "cwd=". Otherwise, execute the function with no options. --- local function execute_in_repo_root(func) --- local function is_git_repo() --- vim.fn.system("git rev-parse --is-inside-work-tree") --- --- return vim.v.shell_error == 0 --- end --- --- local function get_git_root() --- local dot_git_path = vim.fn.finddir(".git", ".;") --- return vim.fn.fnamemodify(dot_git_path, ":h") --- end --- --- local opts = {} --- --- if is_git_repo() then opts = {cwd = get_git_root()} end --- --- func(opts) --- end ------------------------ --- Plugin Configuration ------------------------ -return { +vim.pack.add({ { - 'nvim-telescope/telescope.nvim', - version = '0.1.5', - dependencies = { - { - 'nvim-lua/plenary.nvim' - } - }, - cmd = "Telescope", - init = function() - -- LuaFormatter off - vim.keymap.set('n', 'ff', function() require("telescope.builtin").find_files() end,{desc = "Files"}) - vim.keymap.set('n', 'fg', function() require("telescope.builtin").live_grep() end,{desc = "grep"}) - vim.keymap.set('n', 'fa', function() - require("telescope.builtin").find_files({hidden = true}) - end, {desc = "All files"}) - - vim.keymap.set('n', 'fb', function() require("telescope.builtin").buffers() end, {desc = "Buffers"}) - vim.keymap.set('n', 'fh', function() require("telescope.builtin").help_tags() end, {desc = "Help tags"}) - -- LuaFormatter on - end + src = "https://github.com/nvim-lua/plenary.nvim" + }, + { + src = "https://github.com/nvim-telescope/telescope.nvim" } -} +}) + +vim.pack.add({}) + +vim.keymap.set('n', 'ff', function() require("telescope.builtin").find_files() end, { desc = "Files" }) +vim.keymap.set('n', 'fg', function() require("telescope.builtin").live_grep() end, { desc = "grep" }) +vim.keymap.set('n', 'fa', function() require("telescope.builtin").find_files({ hidden = true }) end, { desc = "All files" }) + +vim.keymap.set('n', 'fb', function() require("telescope.builtin").buffers() end, { desc = "Buffers" }) +vim.keymap.set('n', 'fh', function() require("telescope.builtin").help_tags() end, { desc = "Help tags" }) diff --git a/nvim/.config/nvim/lua/plugins/theme.lua b/nvim/.config/nvim/lua/plugins/theme.lua new file mode 100644 index 0000000..1e63978 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/theme.lua @@ -0,0 +1,10 @@ +vim.pack.add({"https://github.com/ellisonleao/gruvbox.nvim"}) + +require("gruvbox").setup({ + contrast = "hard", + transparent_mode = true, +}) + +vim.cmd("colorscheme gruvbox") + +vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) diff --git a/nvim/.config/nvim/lua/plugins/themes.lua b/nvim/.config/nvim/lua/plugins/themes.lua deleted file mode 100644 index 873e393..0000000 --- a/nvim/.config/nvim/lua/plugins/themes.lua +++ /dev/null @@ -1,63 +0,0 @@ -return { - -- {'doums/darcula', config = function() vim.cmd('colorscheme darcula') end} - -- { - -- "folke/tokyonight.nvim", - -- lazy = false, - -- priority = 1000, - -- opts = {}, - -- config = function() vim.cmd('colorscheme tokyonight-moon') end - -- } - -- { - -- 'rose-pine/neovim', - -- config = function() - -- vim.cmd('colorscheme rose-pine-moon') - - -- -- LuaFormatter off - -- vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) - -- vim.api.nvim_set_hl(0, "FloatBorder", { bg = "none", fg = "none" }) - -- vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = "none" }) - -- vim.api.nvim_set_hl(0, "TelescopeBorder", { bg = "none" }) - -- -- LuaFormatter on - -- end - -- } - -- { - -- 'AlexvZyl/nordic.nvim', - -- lazy = false, - -- priority = 1000, - -- init = function() - -- require('nordic').setup { - -- telescope = { - -- style = 'classic' - -- -- style = 'flat' - -- } - -- } - -- require'nordic'.load() - -- end - -- } - -- { - -- "briones-gabriel/darcula-solid.nvim", - -- dependencies = "rktjmp/lush.nvim", - -- config = function() - -- vim.cmd 'colorscheme darcula-solid' - -- vim.cmd 'set termguicolors' - -- end - -- } - { - "ellisonleao/gruvbox.nvim", - priority = 1000, - config = true, - opts = { - contrast = "hard" - }, - init = function() - vim.cmd("colorscheme gruvbox") - - -- LuaFormatter off - vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) - vim.api.nvim_set_hl(0, "NoiceCmdlineIcon", { bg = "#1d2021" }) - vim.api.nvim_set_hl(0, "NoiceCmdlinePopupBorder", { bg = "#1d2021" }) - vim.api.nvim_set_hl(0, "NoiceCmdlinePopupTitle", { bg = "#1d2021" }) - -- LuaFormatter on - end - } -} diff --git a/nvim/.config/nvim/lua/plugins/time-tracker.lua b/nvim/.config/nvim/lua/plugins/time-tracker.lua new file mode 100644 index 0000000..0b7c31a --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/time-tracker.lua @@ -0,0 +1,8 @@ +vim.pack.add({ + { src = "https://github.com/3rd/sqlite.nvim" }, + { src = "https://github.com/3rd/time-tracker.nvim" } +}) + +require("time-tracker").setup({ + data_file = vim.fn.stdpath("data") .. "/time-tracker.db" +}) diff --git a/nvim/.config/nvim/lua/plugins/time_tracker.lua b/nvim/.config/nvim/lua/plugins/time_tracker.lua deleted file mode 100644 index 66a44ac..0000000 --- a/nvim/.config/nvim/lua/plugins/time_tracker.lua +++ /dev/null @@ -1,10 +0,0 @@ -return { - "3rd/time-tracker.nvim", - dependencies = { - "3rd/sqlite.nvim" - }, - event = "VeryLazy", - opts = { - data_file = vim.fn.stdpath("data") .. "/time-tracker.db" - } -} diff --git a/nvim/.config/nvim/lua/plugins/todo-comments.lua b/nvim/.config/nvim/lua/plugins/todo-comments.lua new file mode 100644 index 0000000..6d4c092 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/todo-comments.lua @@ -0,0 +1,8 @@ +vim.pack.add({ + { src = "https://github.com/nvim-lua/plenary.nvim" }, + { src = "https://github.com/folke/todo-comments.nvim" } +}) + +require("todo-comments").setup() + +vim.keymap.set("n", "ft", ":TodoTelescope") diff --git a/nvim/.config/nvim/lua/plugins/todo_comments.lua b/nvim/.config/nvim/lua/plugins/todo_comments.lua deleted file mode 100644 index c44a95d..0000000 --- a/nvim/.config/nvim/lua/plugins/todo_comments.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - { - "folke/todo-comments.nvim", - dependencies = { - "nvim-lua/plenary.nvim" - }, - opts = {} - } -} diff --git a/nvim/.config/nvim/lua/plugins/toggleterm.lua b/nvim/.config/nvim/lua/plugins/toggleterm.lua index 05a3aa7..abc555d 100644 --- a/nvim/.config/nvim/lua/plugins/toggleterm.lua +++ b/nvim/.config/nvim/lua/plugins/toggleterm.lua @@ -1,21 +1,6 @@ -return { - { - "akinsho/toggleterm.nvim", - version = '*', - opts = { - size = 30, - open_mapping = [[]] - }, - cmd = { - "ToggleTerm", - "TermExec", - "ToggleTermToggleAll", - "ToggleTermSendCurrentLine", - "ToggleTermSendVisualLines", - "ToggleTermSendVisualSelection" - }, - keys = { - [[]] - } - } -} +vim.pack.add({ "https://github.com/akinsho/toggleterm.nvim" }) + +require("toggleterm").setup({ + size = 30, + open_mapping = [[]] +}) diff --git a/nvim/.config/nvim/lua/plugins/treesitter.lua b/nvim/.config/nvim/lua/plugins/treesitter.lua index fa206b9..2789116 100644 --- a/nvim/.config/nvim/lua/plugins/treesitter.lua +++ b/nvim/.config/nvim/lua/plugins/treesitter.lua @@ -1,42 +1,21 @@ -return { - { - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - event = { - "BufReadPost", - "BufNewFile" - }, - cmd = { - "TSInstall", - "TSBufEnable", - "TSBufDisable", - "TSModuleInfo", - "TSInstallSync" - }, - config = function(_, opts) - require("nvim-treesitter.configs").setup({ - ensure_installed = { - "cpp", - "c", - "lua", - "vim", - "vimdoc", - "query" - }, - sync_install = false, - auto_install = true, +vim.pack.add({ "https://github.com/nvim-treesitter/nvim-treesitter" }) - highlight = { - enable = true, - -- additional_vim_regex_highlighting = false, - -- disable = { - -- "latex" - -- }, - additional_vim_regex_highlighting = { - "latex" - } - } - }) - end +require("nvim-treesitter.configs").setup({ + ensure_installed = { + "cpp", + "c", + "lua", + "vim", + "vimdoc", + "query" + }, + sync_install = false, + auto_install = true, + + highlight = { + enable = true, + additional_vim_regex_highlighting = { + "latex" + } } -} +}) diff --git a/nvim/.config/nvim/lua/plugins/trouble.lua b/nvim/.config/nvim/lua/plugins/trouble.lua deleted file mode 100644 index bd7f60a..0000000 --- a/nvim/.config/nvim/lua/plugins/trouble.lua +++ /dev/null @@ -1,59 +0,0 @@ -return { - { - "folke/trouble.nvim", - tag="v3.4.1", - dependencies = { - { - "nvim-tree/nvim-web-devicons" - }, - { - 'folke/lsp-colors.nvim' - }, - { - 'nvim-telescope/telescope.nvim' - } - }, - opts = { - modes = { - symbols = { - win = { - size = 50, - } - } - } - }, - cmd = "Trouble", - keys = { - { - "xw", - "Trouble diagnostics toggle", - desc = "Diagnostics (Trouble)", - }, - { - "xd", - "Trouble diagnostics toggle filter.buf=0", - desc = "Buffer Diagnostics (Trouble)", - }, - { - "xs", - "Trouble symbols toggle focus=false", - desc = "Symbols (Trouble)", - }, - -- { - -- "cl", - -- "Trouble lsp toggle focus=false win.position=right", - -- desc = "LSP Definitions / references / ... (Trouble)", - -- }, - -- { - -- "xl", - -- "Trouble loclist toggle", - -- desc = "Location List (Trouble)", - -- }, - { - "xq", - "Trouble qflist toggle", - desc = "Quickfix List (Trouble)", - }, - }, - } -} diff --git a/nvim/.config/nvim/lua/plugins/undotree.lua b/nvim/.config/nvim/lua/plugins/undotree.lua index f587721..e1b4695 100644 --- a/nvim/.config/nvim/lua/plugins/undotree.lua +++ b/nvim/.config/nvim/lua/plugins/undotree.lua @@ -1,17 +1,3 @@ -return { - { - 'mbbill/undotree', - cmd = { - "UndotreeToggle", - "UndotreeHide", - "UndotreeShow", - "UndotreeFocus", - "UndotreePersistUndo" - }, - init = function() - vim.keymap.set("n", "u", "UndotreeToggle", { - desc = "Undotree" - }) - end - } -} +vim.pack.add({"https://github.com/mbbill/undotree"}) + +vim.keymap.set("n", "u", "UndotreeToggle", { desc = "Undotree" }) diff --git a/nvim/.config/nvim/lua/plugins/vimtex.lua b/nvim/.config/nvim/lua/plugins/vimtex.lua deleted file mode 100644 index 06e59d1..0000000 --- a/nvim/.config/nvim/lua/plugins/vimtex.lua +++ /dev/null @@ -1,63 +0,0 @@ -return { - { - "lervag/vimtex", - ft = { - "tex", - "bib" - }, - config = function() - -- General configuration - - vim.cmd("syntax enable") - - vim.g.vimtex_compiler_latexmk = { - out_dir = 'build', - options = { - '-shell-escape', - '-verbose', - '-file-line-error', - '-interaction=nonstopmode', - '-synctex=1' - } - } - - vim.g.vimtex_view_method = 'zathura' - vim.g.vimtex_quickfix_mode = 0 - - -- Concealment - - vim.cmd([[set conceallevel=1]]) - vim.cmd([[ - let g:vimtex_syntax_conceal = { - \ 'accents': 1, - \ 'ligatures': 1, - \ 'cites': 1, - \ 'fancy': 1, - \ 'spacing': 0, - \ 'greek': 1, - \ 'math_bounds': 1, - \ 'math_delimiters': 1, - \ 'math_fracs': 1, - \ 'math_super_sub': 0, - \ 'math_symbols': 1, - \ 'sections': 0, - \ 'styles': 0, - \} - - let g:vimtex_syntax_custom_cmds = [ - \ {'name': 'bm', 'mathmode': 1, 'argstyle': 'bold', 'conceal': 1}, - \] - ]]) - - -- Synctex configuration - - vim.g.vimtex_compiler_progname = 'nvr' - - local options = string.format( - '--reuse-window --inverse-search="nvr --servername %s +%%2 %%1" --forward-search-file @tex --forward-search-line @line @pdf', - vim.v.servername) - local command = string.format("let g:vimtex_view_general_options='%s'", options) - vim.cmd(command) - end - } -} diff --git a/nvim/.config/nvim/lua/plugins/whichkey.lua b/nvim/.config/nvim/lua/plugins/whichkey.lua index 45c37d2..9131168 100644 --- a/nvim/.config/nvim/lua/plugins/whichkey.lua +++ b/nvim/.config/nvim/lua/plugins/whichkey.lua @@ -1,46 +1,19 @@ -return { - { - "folke/which-key.nvim", - event = "VeryLazy", - init = function() - vim.o.timeout = true - vim.o.timeoutlen = 300 - end, - opts = { - defaults = { - ["x"] = { - name = "+Trouble" - } - } - }, - config = function() - local wk = require("which-key") - wk.add({ - { - "d", - group = "Debug" - }, - { - "f", - group = "Find" - }, - { - "l", - group = "LSP" - }, - { - "o", - group = "Overseer" - }, - { - "s", - group = "Session" - }, - { - "x", - group = "Trouble" - } - }) - end - } -} +vim.pack.add({ "https://github.com/folke/which-key.nvim" }) + +vim.o.timeout = true +vim.o.timeoutlen = 300 + +require("which-key").setup({ + -- defaults = { + -- ["x"] = { name = "+Trouble" } + -- } +}) + +require("which-key").add({ + { "d", group = "Debug" }, + { "f", group = "Find" }, + { "l", group = "LSP" }, + { "o", group = "Overseer" }, + { "s", group = "Session" }, + { "x", group = "Trouble" } +}) diff --git a/nvim/.config/nvim/lua/set.lua b/nvim/.config/nvim/lua/set.lua index 4877db1..bf61bbb 100644 --- a/nvim/.config/nvim/lua/set.lua +++ b/nvim/.config/nvim/lua/set.lua @@ -1,64 +1,23 @@ vim.g.mapleader = " " -vim.opt.nu = true -vim.opt.relativenumber = true - -vim.opt.tabstop = 4 -vim.opt.softtabstop = 4 vim.opt.shiftwidth = 4 vim.opt.expandtab = true -vim.opt.smartindent = true - -vim.opt.wrap = false - -vim.opt.swapfile = false -vim.opt.backup = false -vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" vim.opt.undofile = true +vim.opt.signcolumn = "yes" + +vim.opt.number = true +vim.opt.relativenumber = true + vim.opt.hlsearch = false vim.opt.incsearch = true -vim.opt.termguicolors = true - vim.opt.scrolloff = 8 -vim.opt.signcolumn = "yes" -vim.opt.updatetime = 50 +vim.opt.exrc = true vim.api.nvim_create_autocmd('FileType', { pattern = 'cpp', callback = function() vim.bo.commentstring = '// %s' end }) - -vim.api.nvim_create_autocmd('FileType', { - pattern = 'rust', - callback = function() - vim.cmd [[ -let &efm = '' -" Random non issue stuff -let &efm .= '%-G%.%#aborting due to previous error%.%#,' -let &efm .= '%-G%.%#test failed, to rerun pass%.%#,' -" Capture enter directory events for doc tests -let &efm .= '%D%*\sDoc-tests %f%.%#,' -" Doc Tests -let &efm .= '%E---- %f - %o (line %l) stdout ----,' -let &efm .= '%Cerror%m,' -let &efm .= '%-Z%*\s--> %f:%l:%c,' -" Unit tests && `tests/` dir failures -" This pattern has to come _after_ the doc test one -let &efm .= '%E---- %o stdout ----,' -let &efm .= '%Zthread %.%# panicked at %m\, %f:%l:%c,' -let &efm .= '%Cthread %.%# panicked at %m,' -let &efm .= '%+C%*\sleft: %.%#,' -let &efm .= '%+Z%*\sright: %.%#\, %f:%l:%c,' -" Compiler Errors and Warnings -let &efm .= '%Eerror%m,' -let &efm .= '%Wwarning: %m,' -let &efm .= '%-Z%*\s--> %f:%l:%c,' - ]] - end -}) - -vim.opt.exrc = true diff --git a/nvim/.config/nvim/nvim-pack-lock.json b/nvim/.config/nvim/nvim-pack-lock.json new file mode 100644 index 0000000..2db6c3a --- /dev/null +++ b/nvim/.config/nvim/nvim-pack-lock.json @@ -0,0 +1,97 @@ +{ + "plugins": { + "alpha-nvim": { + "rev": "3979b01", + "src": "https://github.com/goolord/alpha-nvim" + }, + "auto-session": { + "rev": "292492a", + "src": "https://github.com/rmagatti/auto-session" + }, + "gruvbox.nvim": { + "rev": "5e0a460", + "src": "https://github.com/ellisonleao/gruvbox.nvim" + }, + "harpoon": { + "rev": "87b1a35", + "src": "https://github.com/ThePrimeagen/harpoon", + "version": "'harpoon2'" + }, + "lualine.nvim": { + "rev": "3946f01", + "src": "https://github.com/nvim-lualine/lualine.nvim" + }, + "mason-lspconfig.nvim": { + "rev": "d7b5feb", + "src": "https://github.com/mason-org/mason-lspconfig.nvim" + }, + "mason.nvim": { + "rev": "ad7146a", + "src": "https://github.com/mason-org/mason.nvim" + }, + "nvim-lspconfig": { + "rev": "2010fc6", + "src": "https://github.com/neovim/nvim-lspconfig" + }, + "nvim-treesitter": { + "rev": "42fc28ba", + "src": "https://github.com/nvim-treesitter/nvim-treesitter" + }, + "nvim-web-devicons": { + "rev": "8dcb311", + "src": "https://github.com/nvim-tree/nvim-web-devicons" + }, + "oil.nvim": { + "rev": "7e1cd77", + "src": "https://github.com/stevearc/oil.nvim" + }, + "plenary.nvim": { + "rev": "b9fd522", + "src": "https://github.com/nvim-lua/plenary.nvim" + }, + "session-lens": { + "rev": "eae46b4", + "src": "https://github.com/rmagatti/session-lens" + }, + "sqlite.nvim": { + "rev": "a8466c8", + "src": "https://github.com/3rd/sqlite.nvim" + }, + "telescope.nvim": { + "rev": "0294ae3", + "src": "https://github.com/nvim-telescope/telescope.nvim" + }, + "time-tracker.nvim": { + "rev": "4127c4b", + "src": "https://github.com/3rd/time-tracker.nvim" + }, + "todo-comments.nvim": { + "rev": "411503d", + "src": "https://github.com/folke/todo-comments.nvim" + }, + "toggleterm.nvim": { + "rev": "9a88eae", + "src": "https://github.com/akinsho/toggleterm.nvim" + }, + "undotree": { + "rev": "0f1c981", + "src": "https://github.com/mbbill/undotree" + }, + "vim-flog": { + "rev": "665b16a", + "src": "https://github.com/rbong/vim-flog" + }, + "vim-fugitive": { + "rev": "61b51c0", + "src": "https://github.com/tpope/vim-fugitive" + }, + "vim-surround": { + "rev": "3d188ed", + "src": "https://github.com/tpope/vim-surround" + }, + "which-key.nvim": { + "rev": "3aab214", + "src": "https://github.com/folke/which-key.nvim" + } + } +} \ No newline at end of file diff --git a/nvim/.config/nvim/snippets/all/surround.lua b/nvim/.config/nvim/snippets/all/surround.lua deleted file mode 100644 index 5c83c85..0000000 --- a/nvim/.config/nvim/snippets/all/surround.lua +++ /dev/null @@ -1,83 +0,0 @@ ----------------- --- Abbreviations ----------------- - - -local ls = require("luasnip") -local s = ls.snippet -local sn = ls.snippet_node -local t = ls.text_node -local i = ls.insert_node -local f = ls.function_node -local d = ls.dynamic_node -local fmt = require("luasnip.extras.fmt").fmt -local fmta = require("luasnip.extras.fmt").fmta -local rep = require("luasnip.extras").rep -local line_begin = require("luasnip.extras.expand_conditions").line_begin - - ------------ --- Snippets ------------ - - -return { - - -s({trig="()", wordTrig=false, snippetType="autosnippet"}, - { - t("("), - i(1), - t(")"), - i(0), - } -), - -s({trig="[]", wordTrig=false, snippetType="autosnippet"}, - { - t("["), - i(1), - t("]"), - i(0), - } -), - -s({trig="{}", wordTrig=false, snippetType="autosnippet"}, - { - t("{"), - i(1), - t("}"), - i(0), - } -), - -s({trig="<>", wordTrig=false, snippetType="autosnippet"}, - { - t("<"), - i(1), - t(">"), - i(0), - } -), - -s({trig="\"\"", wordTrig=false, snippetType="autosnippet"}, - { - t("\""), - i(1), - t("\""), - i(0), - } -), - -s({trig="''", wordTrig=false, snippetType="autosnippet"}, - { - t("'"), - i(1), - t("'"), - i(0), - } -), - - -} -- return - diff --git a/nvim/.config/nvim/snippets/tex/general.lua b/nvim/.config/nvim/snippets/tex/general.lua deleted file mode 100644 index 79b0ce1..0000000 --- a/nvim/.config/nvim/snippets/tex/general.lua +++ /dev/null @@ -1,285 +0,0 @@ ----------------- --- Abbreviations ----------------- - - -local ls = require("luasnip") -local s = ls.snippet -local sn = ls.snippet_node -local t = ls.text_node -local i = ls.insert_node -local f = ls.function_node -local d = ls.dynamic_node -local fmt = require("luasnip.extras.fmt").fmt -local fmta = require("luasnip.extras.fmt").fmta -local rep = require("luasnip.extras").rep -local conds = require("luasnip.extras.expand_conditions") - ---------------- --- Environments ---------------- - - -local tex_utils = {} - -tex_utils.in_mathzone = function() -- math context detection - return vim.fn['vimtex#syntax#in_mathzone']() == 1 -end - -tex_utils.in_text = function() - return not tex_utils.in_mathzone() -end - -tex_utils.in_comment = function() -- comment detection - return vim.fn['vimtex#syntax#in_comment']() == 1 -end - -tex_utils.in_env = function(name) -- generic environment detection - local is_inside = vim.fn['vimtex#env#is_inside'](name) - return (is_inside[1] > 0 and is_inside[2] > 0) -end - -local get_visual = function(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 - - ------------ --- Snippets ------------ - - -return { - - -s({trig="notes"}, - fmta( - [[ - \documentclass[dvipsnames]{article} - - \usepackage{float} - \usepackage{amsmath} - \usepackage{amsfonts} - \usepackage{mleftright} - \usepackage{bm} - \usepackage{tikz} - \usepackage{xcolor} - \usepackage{pgfplots} - \pgfplotsset{compat=newest} - - \title{<>} - \author{<>} - \date{<>} - - \begin{document} - \maketitle - - <> - \end{document} - ]], - { - i(1, "Notes"), - i(2, "Andreas Tsouchlos"), - i(3, os.date("%d.%m.%y")), - i(0), - } - ) -), - -s({trig="beg", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin}, - fmta( - [[ - \begin{<>} - <> - \end{<>} - ]], - { - i(1), - i(2), - rep(1), - } - ) -), - -s({trig="item", wordTrig=true, snippetType="autosnippet", -condition = function(line_to_cursor, matched_trigger, captures) - return tex_utils.in_env("itemize") and conds.line_begin(line_to_cursor, matched_trigger, captures) -end}, - fmta( - [[ - \item <> - ]], - { - i(0), - } - ) -), - -s({trig="item", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin}, - fmta( - [[ - \begin{itemize} - \item <> - \end{itemize} - ]], - { - i(0), - } - ) -), - -s({trig="frame", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin}, - fmta( - [[ - \begin{frame} - \frametitle{<>} - \end{frame} - ]], - { - i(0), - } - ) -), - -s({trig="sec"}, - fmta( - [[ - \section{<>} - \label{sec:<>} - ]], - { - i(1), - rep(1), - } - ) -), - -s({trig="ssec"}, - fmta( - [[ - \subsection{<>} - \label{subsec:<>} - ]], - { - i(1), - rep(1), - } - ) -), - -s({trig="sssec"}, - fmta( - [[ - \subsubsection{<>} - \label{subsubsec:<>} - ]], - { - i(1), - rep(1), - } - ) -), - -s({trig="csec"}, - fmta( - [[ - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \section{<>} - \label{sec:<>} - ]], - { - i(1), - rep(1), - } - ) -), - -s({trig="cssec"}, - fmta( - [[ - %%%%%%%%%%%%%%%% - \subsection{<>} - \label{subsec:<>} - ]], - { - i(1), - rep(1), - } - ) -), - -s({trig="csssec"}, - fmta( - [[ - %%%%%%%% - \subsubsection{<>} - \label{subsubsec:<>} - ]], - { - i(1), - rep(1), - } - ) -), - --- s({trig="()", wordTrig=false, snippetType="autosnippet"}, --- { --- t("("), --- i(1), --- t(")"), --- i(0), --- } --- ), --- --- s({trig="[]", wordTrig=false, snippetType="autosnippet"}, --- { --- t("["), --- i(1), --- t("]"), --- i(0), --- } --- ), --- --- s({trig="{}", wordTrig=false, snippetType="autosnippet"}, --- { --- t("{"), --- i(1), --- t("}"), --- i(0), --- } --- ), --- --- s({trig="<>", wordTrig=false, snippetType="autosnippet"}, --- { --- t("<"), --- i(1), --- t(">"), --- i(0), --- } --- ), --- --- s({trig="\"\"", wordTrig=false, snippetType="autosnippet"}, --- { --- t("\""), --- i(1), --- t("\""), --- i(0), --- } --- ), --- --- s({trig="''", wordTrig=false, snippetType="autosnippet"}, --- { --- t("'"), --- i(1), --- t("'"), --- i(0), --- } --- ), - - -} -- return - diff --git a/nvim/.config/nvim/snippets/tex/greek.lua b/nvim/.config/nvim/snippets/tex/greek.lua deleted file mode 100644 index 29b0154..0000000 --- a/nvim/.config/nvim/snippets/tex/greek.lua +++ /dev/null @@ -1,439 +0,0 @@ ----------------- --- Abbreviations ----------------- - - -local ls = require("luasnip") -local s = ls.snippet -local sn = ls.snippet_node -local t = ls.text_node -local i = ls.insert_node -local f = ls.function_node -local d = ls.dynamic_node -local fmt = require("luasnip.extras.fmt").fmt -local fmta = require("luasnip.extras.fmt").fmta -local rep = require("luasnip.extras").rep - - ---------------- --- Environments ---------------- - - -local tex_utils = {} - -tex_utils.in_mathzone = function() -- math context detection - return vim.fn['vimtex#syntax#in_mathzone']() == 1 -end - -tex_utils.in_text = function() - return not tex_utils.in_mathzone() -end - -tex_utils.in_comment = function() -- comment detection - return vim.fn['vimtex#syntax#in_comment']() == 1 -end - -tex_utils.in_env = function(name) -- generic environment detection - local is_inside = vim.fn['vimtex#env#is_inside'](name) - return (is_inside[1] > 0 and is_inside[2] > 0) -end - -local get_visual = function(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 - - ------------ --- Snippets ------------ - - -return { - - -s({trig="´a", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\alpha ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´b", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\beta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´g", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\gamma ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´d", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\delta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´e", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\epsilon ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´z", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\zeta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´h", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\eta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´q", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\theta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´i", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\iota ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´k", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\kappa ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´l", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\lambda ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´m", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\mu ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´n", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\nu ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´x", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\xi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´p", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\pi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´r", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\rho ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´s", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\sigma ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´t", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\tau ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´u", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\upsilon ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´f", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\phi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´c", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\chi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´y", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\psi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´w", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\omega ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´A", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Alpha ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´B", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Beta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´G", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Gamma ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´D", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Delta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´E", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Epsilon ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´Z", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Zeta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´H", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Eta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´Q", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Theta ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´I", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Iota ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´K", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Kappa ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´L", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Lambda ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´M", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Mu ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´N", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Nu ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´X", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Xi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´P", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Pi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´R", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Rho ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´S", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Sigma ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´T", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Tau ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´U", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Upsilon ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´F", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Phi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´C", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Chi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´Y", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Psi ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="´W", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Omega ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - - --- Strictly speaking not greek characters, but very similar snippets - -s({trig="´6", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\partial ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -} -- return - diff --git a/nvim/.config/nvim/snippets/tex/math.lua b/nvim/.config/nvim/snippets/tex/math.lua deleted file mode 100644 index de759f4..0000000 --- a/nvim/.config/nvim/snippets/tex/math.lua +++ /dev/null @@ -1,418 +0,0 @@ ----------------- --- Abbreviations ----------------- - - -local ls = require("luasnip") -local s = ls.snippet -local sn = ls.snippet_node -local t = ls.text_node -local i = ls.insert_node -local f = ls.function_node -local d = ls.dynamic_node -local fmt = require("luasnip.extras.fmt").fmt -local fmta = require("luasnip.extras.fmt").fmta -local rep = require("luasnip.extras").rep -local conds = require("luasnip.extras.expand_conditions") - - ---------------- --- Environments ---------------- - - -local tex_utils = {} - -tex_utils.in_mathzone = function() -- math context detection - return vim.fn['vimtex#syntax#in_mathzone']() == 1 -end - -tex_utils.in_text = function() - return not tex_utils.in_mathzone() -end - -tex_utils.in_comment = function() -- comment detection - return vim.fn['vimtex#syntax#in_comment']() == 1 -end - -tex_utils.in_env = function(name) -- generic environment detection - local is_inside = vim.fn['vimtex#env#is_inside'](name) - return (is_inside[1] > 0 and is_inside[2] > 0) -end - -local get_visual = function(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 - - ------------ --- Snippets ------------ - - -return { - - -s({trig="ali", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin}, - fmta( - [[ - \begin{align*} - <> - <>% - \end{align*} - ]], - { - i(0), - i(1, "."), - } - ) -), - -s({trig="cases"}, - fmta( - [[ - \begin{cases} - <> - \end{cases} - ]], - { - i(0), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="matb"}, - fmta( - [[ - \begin{bmatrix} - <> - \end{bmatrix} - ]], - { - i(0), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="matp"}, - fmta( - [[ - \begin{pmatrix} - <> - \end{pmatrix} - ]], - { - i(0), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])array", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[ - <>\begin{array}{c} - <> - \end{array} - ]], - { - f( function(_, snip) return snip.captures[1] end ), - i(0), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig='([^%a])int', regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\int_{<>}^{<>} <> d<> ]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1, "-\\infty"), - i(2, "\\infty"), - i(4), - i(3, "x"), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig='([^%a])prod', regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\prod_{<>}^{<>} ]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1, "-\\infty"), - i(2, "\\infty"), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig='([^%a])sum', regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\sum_{<>}^{<>} ]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1, "n=0"), - i(2, "N-1"), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig='([^%a])sqrt', regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\sqrt{<>} ]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig='([^%a])log', regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\log_{<>} ]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1, "2"), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig='([^%a])ln', regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\ln ]], - { - f( function(_, snip) return snip.captures[1] end ), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig = '([^%a])ff', regTrig = true, wordTrig = false, snippetType = "autosnippet"}, - fmta( - [[<>\frac{<>}{<>} ]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - i(2) - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])mcal", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\mathcal{<>}]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])mbb", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\mathbb{<>}]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])tt", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\text{<>}]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - --- s({trig=".", snippetType="autosnippet"}, --- fmta( --- [[\cdot ]], --- {} --- ), --- {condition = tex_utils.in_mathzone} --- ), - -s({trig="$$", snippetType="autosnippet"}, - fmta( - [[$<>$]], - { - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])bm", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\bm{<>}]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="__", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[_{<>}]], - { - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="^^", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[^{<>}]], - { - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])oo", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\infty]], - { - f( function(_, snip) return snip.captures[1] end ), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="((", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\mleft( <> \mright)]], - { - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="[[", wordTrig=false, snippetType="autosnippet"}, - fmta( - "\\mleft[ <> \\mright]", - { - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="{{", wordTrig=false, snippetType="autosnippet"}, - fmta( - "\\mleft\\{ <> \\mright\\}", - { - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="||", wordTrig=false, snippetType="autosnippet"}, - fmta( - "\\lvert <> \\rvert ", - { - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])hat", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\hat{<>}]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])tld", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\tilde{<>}]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])bar", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\overline{<>}]], - { - f( function(_, snip) return snip.captures[1] end ), - i(1), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([%a])([%d])", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>_<>]], - { - f( function(_, snip) return snip.captures[1] end ), - f( function(_, snip) return snip.captures[2] end ), - } - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="=>", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\Rightarrow ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="->", wordTrig=false, snippetType="autosnippet"}, - fmta( - [[\rightarrow ]], - {} - ), - {condition = tex_utils.in_mathzone} -), - -s({trig="([^%a])nab", regTrig=true, wordTrig=false, snippetType="autosnippet"}, - fmta( - [[<>\nabla ]], - { - f( function(_, snip) return snip.captures[1] end ), - } - ), - {condition = tex_utils.in_mathzone} -), - - -} -- return - diff --git a/nvim/.config/nvim/snippets/tex/plotting.lua b/nvim/.config/nvim/snippets/tex/plotting.lua deleted file mode 100644 index 1c64a09..0000000 --- a/nvim/.config/nvim/snippets/tex/plotting.lua +++ /dev/null @@ -1,132 +0,0 @@ ----------------- --- Abbreviations ----------------- - - -local ls = require("luasnip") -local s = ls.snippet -local sn = ls.snippet_node -local t = ls.text_node -local i = ls.insert_node -local f = ls.function_node -local d = ls.dynamic_node -local fmt = require("luasnip.extras.fmt").fmt -local fmta = require("luasnip.extras.fmt").fmta -local rep = require("luasnip.extras").rep - - ---------------- --- Environments ---------------- - - -local tex_utils = {} - -tex_utils.in_mathzone = function() -- math context detection - return vim.fn['vimtex#syntax#in_mathzone']() == 1 -end - -tex_utils.in_text = function() - return not tex_utils.in_mathzone() -end - -tex_utils.in_comment = function() -- comment detection - return vim.fn['vimtex#syntax#in_comment']() == 1 -end - -tex_utils.in_env = function(name) -- generic environment detection - local is_inside = vim.fn['vimtex#env#is_inside'](name) - return (is_inside[1] > 0 and is_inside[2] > 0) -end - -local get_visual = function(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 - - ------------ --- Snippets ------------ - - -return { - - -s({trig="funcplot"}, - fmta( - [[ - \begin{figure}[H] - \centering - - \begin{tikzpicture} - \begin{axis}[ - domain=<>, - width=\textwidth, - height=0.75\textwidth, - ] - \addplot+[mark=none, line width=1pt] - {<>}; - \end{axis} - \end{tikzpicture} - \end{figure} - ]], - { - i(1, "-5:5"), - i(2), - } - ) -), - -s({trig="csvplot"}, - fmta( - [[ - \begin{figure}[H] - \centering - - \begin{tikzpicture} - \begin{axis}[ - width=\textwidth, - height=0.75\textwidth, - ] - \addplot+[mark=none, line width=1pt] - table[col sep=comma, x=<>, y=<>] - {<>}; - \end{axis} - \end{tikzpicture} - \end{figure} - ]], - { - i(1, "x"), - i(2, "y"), - i(3), - } - ) -), - -s({trig="fig"}, - fmta( - [[ - \begin{figure}[H] - \centering - - <> - - \caption{<>} - \label{fig:<>} - \end{figure} - ]], - { - i(0), - i(1), - i(2), - } - ) -), - - -} -- return -