Compare commits
16 Commits
host/cel
...
641fac3142
| Author | SHA1 | Date | |
|---|---|---|---|
| 641fac3142 | |||
| d575ec44e0 | |||
| f45a4bd8c1 | |||
| dcb4e6e71d | |||
| 2bf187255a | |||
| b951634ce6 | |||
| 24fd231176 | |||
| 800ce599e9 | |||
| 9aba8cd855 | |||
| 52d0fd3efa | |||
| 2f902123a9 | |||
| 8ace6f1d1c | |||
| de2734ba98 | |||
| a4b9fc3cf9 | |||
| 06e1bd1c2e | |||
| 1f7dbe05a2 |
8
nvim/.config/nvim/.luarc.json
Normal file
8
nvim/.config/nvim/.luarc.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"runtime.version": "LuaJIT",
|
||||||
|
"rutime.path": ["lua/?.lua", "lua/?/init.lua"],
|
||||||
|
"diagnostics.globals": ["vim"],
|
||||||
|
"workspace.checkThirdParty": false,
|
||||||
|
"workspace.library": ["$VIMRUNTIME"]
|
||||||
|
}
|
||||||
|
|
||||||
@@ -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
|
|
||||||
```
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -1,20 +1,30 @@
|
|||||||
require("set")
|
require('set')
|
||||||
require("remap")
|
require('keymaps')
|
||||||
require("lsp")
|
require('lsp')
|
||||||
|
|
||||||
-- Set up lazy
|
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
vim.fn.system({
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
"git",
|
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||||
"clone",
|
if vim.v.shell_error ~= 0 then
|
||||||
"--filter=blob:none",
|
vim.api.nvim_echo({
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
"--branch=stable", -- latest stable release
|
{ out, "WarningMsg" },
|
||||||
lazypath,
|
{ "\nPress any key to exit..." },
|
||||||
})
|
}, true, {})
|
||||||
|
vim.fn.getchar()
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
require("lazy").setup("plugins")
|
require("lazy").setup({
|
||||||
|
spec = {
|
||||||
|
{ import = "plugins" },
|
||||||
|
},
|
||||||
|
checker = { enabled = true },
|
||||||
|
change_detection = {
|
||||||
|
enabled = false
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|||||||
@@ -1,48 +1,34 @@
|
|||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
"LuaSnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" },
|
||||||
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
|
"alpha-nvim": { "branch": "main", "commit": "3979b01cb05734331c7873049001d3f2bb8477f4" },
|
||||||
"auto-session": { "branch": "main", "commit": "f0eb3d69848389869572b82b336d7a6887e88e43" },
|
"auto-session": { "branch": "main", "commit": "292492ab7af4bd8b9e37e28508bc8ce995722fd5" },
|
||||||
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
|
"copilot.lua": { "branch": "master", "commit": "5bde2cfe01f049f522eeb8b52c5c723407db8bdf" },
|
||||||
"copilot.lua": { "branch": "master", "commit": "93adf9844dcbe09a37e7a72eaa286d33d38bf628" },
|
|
||||||
"csvview.nvim": { "branch": "main", "commit": "bbab4c2f808fd8e11ec8dfdd128251aadba566a1" },
|
|
||||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
||||||
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
|
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
|
||||||
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||||
"jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "db067881fff0fd4be8c00e5bde7492e0e1c77a2f" },
|
|
||||||
"lsp-colors.nvim": { "branch": "main", "commit": "2bbe7541747fd339bdd8923fc45631a09bb4f1e5" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
"markview.nvim": { "branch": "main", "commit": "fb1f8476f4bd0fa4e692b5eef56bca80c7db338d" },
|
||||||
"markdown-toc.nvim": { "branch": "main", "commit": "869af35bce0c27e2006f410fa3f706808db4843d" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "b1d9a914b02ba5660f1e272a03314b31d4576fe2" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||||
"molten-nvim": { "branch": "main", "commit": "a286aa914d9a154bc359131aab788b5a077a5a99" },
|
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||||
"noice.nvim": { "branch": "main", "commit": "d14d02cb709e3bb2da88363c32f8b4250bced52d" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
"nvim-dap": { "branch": "master", "commit": "6782b097af2417a4c3e33849b0a26ae2188bd7ea" },
|
"nvim-lspconfig": { "branch": "master", "commit": "b34fbdffdcb6295c7a25df6ba375452a2e73c32e" },
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
"nvim-treesitter": { "branch": "main", "commit": "b50774079aa3de80a06dce1634e7e1aa26d25848" },
|
||||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||||
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
|
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
|
||||||
"otter.nvim": { "branch": "main", "commit": "fc0aa35b1985077d11a20ddf4006bf40f2cd7397" },
|
"outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" },
|
||||||
"overseer.nvim": { "branch": "master", "commit": "c77c78b35d0b4d244e1cd77c25ec93a16fbbfc94" },
|
|
||||||
"pastify.nvim": { "branch": "main", "commit": "4a1d1e03c3ae725ee4af796deca8c7c169ef626e" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
"quarto-nvim": { "branch": "main", "commit": "0e9491509b38efbd83d3f41dbfacc7fc4bd40191" },
|
|
||||||
"session-lens": { "branch": "main", "commit": "eae46b472b3150f5ec0f977556e8085683d49eb0" },
|
|
||||||
"sqlite.nvim": { "branch": "master", "commit": "a8466c830a89794c2eafa41b41dd11fdf4a0d7ca" },
|
"sqlite.nvim": { "branch": "master", "commit": "a8466c830a89794c2eafa41b41dd11fdf4a0d7ca" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "3a12a853ebf21ec1cce9a92290e3013f8ae75f02" },
|
||||||
"time-tracker.nvim": { "branch": "master", "commit": "4127c4b5fecaf5f5cb3aa840707e58bb88eb9bf0" },
|
"time-tracker.nvim": { "branch": "master", "commit": "4127c4b5fecaf5f5cb3aa840707e58bb88eb9bf0" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" },
|
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
||||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
"toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "3609bb9a82bbab1ef95cf2c27ce7e52267a7d40d" },
|
|
||||||
"undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" },
|
"undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" },
|
||||||
"vim-doge": { "branch": "master", "commit": "03a84072ef21b205237c77986c78914395d646c3" },
|
|
||||||
"vim-flog": { "branch": "master", "commit": "665b16ac8915f746bc43c9572b4581a5e9047216" },
|
"vim-flog": { "branch": "master", "commit": "665b16ac8915f746bc43c9572b4581a5e9047216" },
|
||||||
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
|
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
|
||||||
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
|
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
|
||||||
"vimtex": { "branch": "master", "commit": "be9deac3a23eeb145ccf11dd09080795838496ce" },
|
"vimtex": { "branch": "master", "commit": "32bcb3922c20588e00de68f73c86312eda2141ad" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = {
|
|
||||||
'clangd'
|
|
||||||
},
|
|
||||||
root_markers = {
|
|
||||||
'.clangd',
|
|
||||||
'compile_commands.json'
|
|
||||||
},
|
|
||||||
filetypes = {
|
|
||||||
'c',
|
|
||||||
'cpp'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = { 'docker-langserver', '--stdio' },
|
|
||||||
filetypes = {
|
|
||||||
'dockerfile'
|
|
||||||
},
|
|
||||||
root_markers = {
|
|
||||||
'Dockerfile',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = {
|
|
||||||
'lua-language-server'
|
|
||||||
},
|
|
||||||
filetypes = {
|
|
||||||
'lua'
|
|
||||||
},
|
|
||||||
root_markers = {
|
|
||||||
'.luarc.json',
|
|
||||||
'.luarc.jsonc',
|
|
||||||
'.git'
|
|
||||||
},
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
runtime = {
|
|
||||||
version = 'LuaJIT'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = { "neocmakelsp", "--stdio" },
|
|
||||||
filetypes = { "cmake" },
|
|
||||||
root_markers = { ".git", "README.md" }
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = {
|
|
||||||
'pyright-langserver', '--stdio'
|
|
||||||
},
|
|
||||||
settings = {
|
|
||||||
python = {
|
|
||||||
analysis = {
|
|
||||||
typeCheckingMode = "basic", -- or "strict", "off"
|
|
||||||
autoSearchPaths = true,
|
|
||||||
useLibraryCodeForTypes = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
root_markers = {
|
|
||||||
'pyproject.toml', 'setup.py', 'setup.cfg', 'requirements.txt', '.git'
|
|
||||||
},
|
|
||||||
filetypes = {
|
|
||||||
'python'
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = {
|
|
||||||
'ruff', 'server'
|
|
||||||
},
|
|
||||||
filetypes = {
|
|
||||||
'python'
|
|
||||||
},
|
|
||||||
root_markers = {
|
|
||||||
'setup.py', 'setup.cfg', 'requirements.txt', '.git', 'ruff.toml'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = { 'rust-analyzer' },
|
|
||||||
filetypes = { 'rust' },
|
|
||||||
root_markers = { "Cargo.toml", ".git" },
|
|
||||||
-- single_file_support = true,
|
|
||||||
-- settings = {
|
|
||||||
-- ['rust-analyzer'] = {
|
|
||||||
-- diagnostics = {
|
|
||||||
-- enable = false,
|
|
||||||
-- }
|
|
||||||
-- }
|
|
||||||
-- },
|
|
||||||
before_init = function(init_params, config)
|
|
||||||
-- See https://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26
|
|
||||||
if config.settings and config.settings['rust-analyzer'] then
|
|
||||||
init_params.initializationOptions = config.settings['rust-analyzer']
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = { 'texlab' },
|
|
||||||
filetypes = { 'tex' },
|
|
||||||
root_markers = { '.git', '.latexmkrc' },
|
|
||||||
settings = {
|
|
||||||
texlab = {
|
|
||||||
rootDirectory = nil,
|
|
||||||
build = {
|
|
||||||
executable = 'latexmk',
|
|
||||||
args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '%f' },
|
|
||||||
onSave = false,
|
|
||||||
forwardSearchAfter = false,
|
|
||||||
},
|
|
||||||
forwardSearch = {
|
|
||||||
executable = nil,
|
|
||||||
args = {},
|
|
||||||
},
|
|
||||||
chktex = {
|
|
||||||
onOpenAndSave = false,
|
|
||||||
onEdit = false,
|
|
||||||
},
|
|
||||||
diagnosticsDelay = 300,
|
|
||||||
latexFormatter = 'tex-fmt',
|
|
||||||
bibtexFormatter = 'tex-fmt',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -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'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
'nvim-tree/nvim-tree.lua',
|
|
||||||
cmd = {
|
|
||||||
"NvimTreeToggle",
|
|
||||||
"NvimTreeFocus"
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
vim.keymap.set('n', '<leader>e', '<cmd>NvimTreeToggle<cr>', {
|
|
||||||
noremap = true,
|
|
||||||
silent = true,
|
|
||||||
desc = "Explorer"
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
config = function() require("nvim-tree").setup() end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"ThePrimeagen/vim-be-good",
|
|
||||||
cmd = {
|
|
||||||
"VimBeGood"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -20,5 +20,3 @@ vim.keymap.set("n", "q:", "<nop>")
|
|||||||
vim.cmd [[call nvim_create_user_command('W', 'w', {'nargs': 0})]]
|
vim.cmd [[call nvim_create_user_command('W', 'w', {'nargs': 0})]]
|
||||||
|
|
||||||
vim.keymap.set("n", "QQ", ":q!<CR>")
|
vim.keymap.set("n", "QQ", ":q!<CR>")
|
||||||
|
|
||||||
-- vim.keymap.set("n", "<leader>cb", [[:up | %bd | e#<CR>]])
|
|
||||||
@@ -1,26 +1,54 @@
|
|||||||
-- Set up LSP
|
--
|
||||||
|
--
|
||||||
local lsp_configs = {}
|
-- LSP configs
|
||||||
|
--
|
||||||
for _, f in pairs(vim.api.nvim_get_runtime_file('lsp/*.lua', true)) do
|
--
|
||||||
local server_name = vim.fn.fnamemodify(f, ':t:r')
|
|
||||||
table.insert(lsp_configs, server_name)
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.lsp.enable(lsp_configs)
|
|
||||||
|
|
||||||
|
|
||||||
vim.o.completeopt = "menu,menuone,noinsert"
|
vim.lsp.config("texlab", {
|
||||||
|
settings = {
|
||||||
|
texlab = {
|
||||||
|
rootDirectory = nil,
|
||||||
|
build = {
|
||||||
|
executable = 'latexmk',
|
||||||
|
args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '%f' },
|
||||||
|
onSave = false,
|
||||||
|
forwardSearchAfter = false,
|
||||||
|
},
|
||||||
|
forwardSearch = {
|
||||||
|
executable = nil,
|
||||||
|
args = {},
|
||||||
|
},
|
||||||
|
chktex = {
|
||||||
|
onOpenAndSave = false,
|
||||||
|
onEdit = false,
|
||||||
|
},
|
||||||
|
diagnosticsDelay = 300,
|
||||||
|
latexFormatter = 'tex-fmt',
|
||||||
|
bibtexFormatter = 'tex-fmt',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- Completion config
|
||||||
|
--
|
||||||
|
--
|
||||||
|
|
||||||
|
|
||||||
|
vim.o.completeopt = "menu,menuone,noinsert,fuzzy"
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("i", "<C-Space>", "<C-x><C-o>", { noremap = true })
|
vim.api.nvim_set_keymap("i", "<C-Space>", "<C-x><C-o>", { noremap = true })
|
||||||
|
|
||||||
|
|
||||||
-- TODO: Put this somewhere sensible
|
|
||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
vim.api.nvim_create_autocmd('LspAttach', {
|
||||||
group = vim.api.nvim_create_augroup('my.lsp', {}),
|
group = vim.api.nvim_create_augroup('my.lsp', {}),
|
||||||
callback = function(args)
|
callback = function(args)
|
||||||
local client = assert(vim.lsp.get_client_by_id(args.data.client_id))
|
local client = assert(vim.lsp.get_client_by_id(args.data.client_id))
|
||||||
|
|
||||||
-- Make Tab accept the selected completion
|
-- Make tab accept the selected completion
|
||||||
vim.keymap.set('i', '<Tab>', function()
|
vim.keymap.set('i', '<Tab>', function()
|
||||||
if vim.fn.pumvisible() == 1 then
|
if vim.fn.pumvisible() == 1 then
|
||||||
return '<C-y>'
|
return '<C-y>'
|
||||||
@@ -29,7 +57,7 @@ vim.api.nvim_create_autocmd('LspAttach', {
|
|||||||
end
|
end
|
||||||
end, { expr = true })
|
end, { expr = true })
|
||||||
|
|
||||||
-- Make Enter just insert a newline (don't accept completion)
|
-- Make enter just insert a newline (don't accept completion)
|
||||||
vim.keymap.set('i', '<CR>', function()
|
vim.keymap.set('i', '<CR>', function()
|
||||||
if vim.fn.pumvisible() == 1 then
|
if vim.fn.pumvisible() == 1 then
|
||||||
return '<C-e><CR>'
|
return '<C-e><CR>'
|
||||||
@@ -38,9 +66,8 @@ vim.api.nvim_create_autocmd('LspAttach', {
|
|||||||
end
|
end
|
||||||
end, { expr = true })
|
end, { expr = true })
|
||||||
|
|
||||||
-- Enable auto-completion. Note: Use CTRL-Y to select an item. |complete_CTRL-Y|
|
|
||||||
if client:supports_method('textDocument/completion') then
|
if client:supports_method('textDocument/completion') then
|
||||||
-- Trigger autocompletion on EVERY keypress. May be slow!
|
-- Trigger autocompletion on every keypress
|
||||||
local chars = {}; for i = 32, 126 do table.insert(chars, string.char(i)) end
|
local chars = {}; for i = 32, 126 do table.insert(chars, string.char(i)) end
|
||||||
client.server_capabilities.completionProvider.triggerCharacters = chars
|
client.server_capabilities.completionProvider.triggerCharacters = chars
|
||||||
|
|
||||||
@@ -48,43 +75,53 @@ vim.api.nvim_create_autocmd('LspAttach', {
|
|||||||
end
|
end
|
||||||
|
|
||||||
vim.keymap.set('n', '<M-L>',
|
vim.keymap.set('n', '<M-L>',
|
||||||
function() vim.lsp.buf.format() end,
|
function() vim.lsp.buf.format() end, {
|
||||||
{
|
|
||||||
desc = "Format",
|
desc = "Format",
|
||||||
noremap = true,
|
noremap = true,
|
||||||
silent = true
|
silent = true
|
||||||
})
|
})
|
||||||
vim.keymap.set('i', '<M-L>',
|
vim.keymap.set('i', '<M-L>',
|
||||||
function() vim.lsp.buf.format() end,
|
function() vim.lsp.buf.format() end, {
|
||||||
{
|
|
||||||
desc = "Format",
|
desc = "Format",
|
||||||
noremap = true,
|
noremap = true,
|
||||||
silent = true
|
silent = true
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {
|
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, { desc = "Go to definition" })
|
||||||
desc = "Go to definition"
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set("n", "grr", ":Trouble lsp_references<CR>", {
|
|
||||||
desc = "Show references"
|
--
|
||||||
})
|
--
|
||||||
|
-- Diagnostics config
|
||||||
-- if client:supports_method('textDocument/implementation') then
|
--
|
||||||
-- -- Create a keymap for vim.lsp.buf.implementation ...
|
--
|
||||||
-- end
|
|
||||||
|
|
||||||
-- -- Auto-format ("lint") on save.
|
vim.diagnostic.config({
|
||||||
-- -- Usually not needed if server supports "textDocument/willSaveWaitUntil".
|
virtual_text = true,
|
||||||
-- if not client:supports_method('textDocument/willSaveWaitUntil')
|
severity_sort = true,
|
||||||
-- and client:supports_method('textDocument/formatting') then
|
})
|
||||||
-- vim.api.nvim_create_autocmd('BufWritePre', {
|
|
||||||
-- group = vim.api.nvim_create_augroup('my.lsp', { clear = false }),
|
vim.api.nvim_create_autocmd("CursorHold", {
|
||||||
-- buffer = args.buf,
|
callback = function()
|
||||||
-- callback = function()
|
local width = vim.api.nvim_win_get_width(0);
|
||||||
-- vim.lsp.buf.format({ bufnr = args.buf, id = client.id, timeout_ms = 1000 })
|
|
||||||
-- end,
|
vim.diagnostic.open_float(nil, {
|
||||||
-- })
|
scope = "cursor",
|
||||||
-- end
|
close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" },
|
||||||
|
source = true,
|
||||||
|
relative = "editor",
|
||||||
|
width = 40,
|
||||||
|
focusable = false,
|
||||||
|
focused = false,
|
||||||
|
border = "rounded",
|
||||||
|
title = "Diagnostics",
|
||||||
|
header = "",
|
||||||
|
title_pos = "center",
|
||||||
|
offset_x = width,
|
||||||
|
offset_y = -1,
|
||||||
|
})
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
-------------------
|
--
|
||||||
|
--
|
||||||
-- Helper functions
|
-- Helper functions
|
||||||
-------------------
|
--
|
||||||
local function clamp(x, min, max) return math.max(math.min(x, max), min) end
|
--
|
||||||
|
|
||||||
local function get_random_image()
|
local function get_random_image()
|
||||||
local images = {
|
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 = {}
|
local cdf = {}
|
||||||
|
|
||||||
cdf[1] = 0
|
cdf[1] = 0
|
||||||
for j = 2, #pmf+1 do
|
for j = 2, #pmf + 1 do
|
||||||
cdf[j] = cdf[j - 1] + pmf[j - 1]
|
cdf[j] = cdf[j - 1] + pmf[j - 1]
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -73,33 +74,33 @@ local function get_random_image()
|
|||||||
|
|
||||||
for j = 2, #cdf do
|
for j = 2, #cdf do
|
||||||
if r <= cdf[j] * 100 then
|
if r <= cdf[j] * 100 then
|
||||||
return images[j-1]
|
return images[j - 1]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------
|
--
|
||||||
-- Configurtation
|
--
|
||||||
-----------------
|
-- Plugin configuration
|
||||||
|
--
|
||||||
|
--
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
"goolord/alpha-nvim",
|
||||||
"goolord/alpha-nvim",
|
lazy = false,
|
||||||
lazy = false,
|
config = function()
|
||||||
config = function()
|
local dashboard = require("alpha.themes.dashboard")
|
||||||
local dashboard = require("alpha.themes.dashboard")
|
dashboard.section.header.val = get_random_image()
|
||||||
dashboard.section.header.val = get_random_image()
|
dashboard.section.buttons.val = {
|
||||||
dashboard.section.buttons.val = {
|
dashboard.button('n', ' New file', ':ene <BAR> startinsert <CR>'),
|
||||||
dashboard.button('n', ' New file', ':ene <BAR> startinsert <CR>'),
|
dashboard.button('r', ' Recent files', ':Telescope oldfiles <CR>'),
|
||||||
dashboard.button('r', ' Recent files', ':Telescope oldfiles <CR>'),
|
dashboard.button('f', ' Find file', ':Telescope find_files <CR>'),
|
||||||
dashboard.button('f', ' Find file', ':Telescope find_files <CR>'),
|
dashboard.button('g', ' Find text', ':Telescope live_grep <CR>'),
|
||||||
dashboard.button('g', ' Find text', ':Telescope live_grep <CR>'),
|
dashboard.button('p', ' Open project', ':Telescope session-lens search_session<CR>'),
|
||||||
dashboard.button('p', ' Open project', ':Telescope session-lens search_session<CR>'),
|
dashboard.button('l', ' Lazy', ':Lazy<CR>'),
|
||||||
dashboard.button('l', ' Lazy', ':Lazy<CR>'),
|
dashboard.button('q', ' Quit', ':qa<CR>')
|
||||||
dashboard.button('q', ' Quit', ':qa<CR>')
|
}
|
||||||
}
|
|
||||||
|
|
||||||
require("alpha").setup(dashboard.opts)
|
require("alpha").setup(dashboard.opts)
|
||||||
end
|
end
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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', '<leader>ss', '<cmd>SessionSave<CR>', {
|
|
||||||
desc = "Save"
|
|
||||||
})
|
|
||||||
vim.keymap.set('n', '<leader>sd', '<cmd>SessionDelete<CR>', {
|
|
||||||
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', '<leader>sf', function() require('session-lens').search_session() end, {
|
|
||||||
desc = "Find"
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
config = function()
|
|
||||||
require('session-lens').setup({
|
|
||||||
prompt_title = 'Sessions'
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
32
nvim/.config/nvim/lua/plugins/autosession.lua
Normal file
32
nvim/.config/nvim/lua/plugins/autosession.lua
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
return {
|
||||||
|
"https://github.com/rmagatti/auto-session",
|
||||||
|
-- TODO: This forces telescope to be loaded non-lazily. Fix this
|
||||||
|
dependencies = {
|
||||||
|
"https://github.com/nvim-lua/plenary.nvim",
|
||||||
|
"https://github.com/nvim-telescope/telescope.nvim",
|
||||||
|
"https://github.com/nvim-lualine/lualine.nvim"
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
||||||
|
end,
|
||||||
|
keys = {
|
||||||
|
{ '<leader>ss', '<cmd>AutoSession save<CR>', desc = "Save" },
|
||||||
|
{ '<leader>sd', '<cmd>AutoSession delete<CR>', desc = "Delete" },
|
||||||
|
{ '<leader>fs', '<cmd>Telescope session-lens<CR>', desc = "Session" }
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
suppressed_dirs = { "~/", "~/Projects", "~/Downloads", "/" },
|
||||||
|
log_level = "error",
|
||||||
|
auto_save_enabled = false,
|
||||||
|
session_lens = {
|
||||||
|
picker = "telescope",
|
||||||
|
load_on_setup = true,
|
||||||
|
mappings = {
|
||||||
|
delete_session = { "i", "<C-d>" },
|
||||||
|
alternate_session = { "i", "<C-s>" },
|
||||||
|
copy_session = { "i", "<C-y>" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
lazy = false,
|
||||||
|
}
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
'Eandrju/cellular-automaton.nvim',
|
|
||||||
cmd = {
|
|
||||||
"CellularAutomaton"
|
|
||||||
},
|
|
||||||
init = function() vim.keymap.set("n", "<leader>fu", "<cmd>CellularAutomaton make_it_rain<CR>") end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +1,12 @@
|
|||||||
return {
|
return {
|
||||||
"zbirenbaum/copilot.lua",
|
"zbirenbaum/copilot.lua",
|
||||||
cmd = "Copilot",
|
cmd = "Copilot",
|
||||||
-- event = "InsertEnter",
|
|
||||||
opts = {
|
opts = {
|
||||||
suggestion = {
|
suggestion = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
auto_trigger = true,
|
auto_trigger = true,
|
||||||
keymap = {
|
keymap = {
|
||||||
accept = "<C-l>"
|
accept = "<C-l>"
|
||||||
-- accept_word = false,
|
|
||||||
-- accept_line = false,
|
|
||||||
-- next = "<M-]>",
|
|
||||||
-- prev = "<M-[>",
|
|
||||||
-- dismiss = "<C-]>"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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 <Tab> and <S-Tab> to move horizontally between fields.
|
|
||||||
-- Use <Enter> and <S-Enter> 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 <S-Tab> and <S-Enter>.
|
|
||||||
jump_next_field_end = { "<Tab>", mode = { "n", "v" } },
|
|
||||||
jump_prev_field_end = { "<S-Tab>", mode = { "n", "v" } },
|
|
||||||
jump_next_row = { "<Enter>", mode = { "n", "v" } },
|
|
||||||
jump_prev_row = { "<S-Enter>", mode = { "n", "v" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" },
|
|
||||||
init = function()
|
|
||||||
vim.keymap.set("n", "<leader>ce", ":CsvViewEnable display_mode=border header_lnum=1<CR>")
|
|
||||||
vim.keymap.set("n", "<leader>cd", ":CsvViewDisable<CR>")
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@@ -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", "<leader>db", "<cmd>DapToggleBreakpoint<cr>", {
|
|
||||||
desc = "Toggle breakpoint"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", "<leader>dc", "<cmd>DapContinue<cr>", {
|
|
||||||
desc = "Continue"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", "<leader>dt", "<cmd>DapTerminate<cr>", {
|
|
||||||
desc = "Terminate"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", "<leader>di", "<cmd>DapStepInto<cr>", {
|
|
||||||
desc = "Step into"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", "<leader>dn", "<cmd>DapStepOver<cr>", {
|
|
||||||
desc = "Step over"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", "<leader>do", "<cmd>DapStepOut<cr>", {
|
|
||||||
desc = "Step out"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", '<Leader>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", "<leader>du", function() require("dapui").toggle() end, {
|
|
||||||
desc = " Toggle UI"
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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 = '<c-j>'
|
|
||||||
vim.g.doge_mapping_comment_jump_backward = '<c-k>'
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>gd', '<Plug>(doge-generate)', { silent = true, desc = "Generate doc"})
|
|
||||||
-- nmap <silent> <Leader>d <Plug>(doge-generate)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
'stevearc/dressing.nvim',
|
|
||||||
event = 'VimEnter'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,22 +1,13 @@
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
'tpope/vim-fugitive',
|
"https://github.com/tpope/vim-fugitive",
|
||||||
cmd = {
|
keys = { { "<leader>gs", vim.cmd.Git } }
|
||||||
"Git"
|
|
||||||
},
|
|
||||||
init = function() vim.keymap.set("n", "<leader>gs", vim.cmd.Git) end
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'rbong/vim-flog',
|
"https://github.com/rbong/vim-flog",
|
||||||
cmd = {
|
|
||||||
"Flog",
|
|
||||||
"Floggit",
|
|
||||||
"Flogsplit"
|
|
||||||
},
|
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{
|
"https://github.com/tpope/vim-fugitive"
|
||||||
'tpope/vim-fugitive'
|
},
|
||||||
}
|
cmd = "Flog"
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,37 @@
|
|||||||
return {
|
return
|
||||||
{
|
{
|
||||||
"ThePrimeagen/harpoon",
|
"ThePrimeagen/harpoon",
|
||||||
-- branch = "harpoon2",
|
branch = "harpoon2",
|
||||||
dependencies = {
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
{
|
keys = {
|
||||||
"nvim-lua/plenary.nvim"
|
{ "<leader>a", function() require("harpoon"):list():add() end },
|
||||||
}
|
{ "<C-e>", function() require("harpoon").ui:toggle_quick_menu(require("harpoon"):list()) end },
|
||||||
},
|
{ "<C-h>", function() require("harpoon"):list():select(1) end },
|
||||||
init = function()
|
{ "<C-t>", function() require("harpoon"):list():select(2) end },
|
||||||
vim.keymap.set("n", "<C-e>", function() require("harpoon.ui").toggle_quick_menu() end, {desc = "Toggle harpoon ui"})
|
{ "<C-n>", function() require("harpoon"):list():select(3) end },
|
||||||
vim.keymap.set("n", "<leader>a", function() require("harpoon.mark").add_file() end, {desc = "Add to harpoon list"})
|
{ "<C-s>", function() require("harpoon"):list():select(4) end },
|
||||||
|
},
|
||||||
vim.keymap.set("n", "<C-h>", function() require("harpoon.ui").nav_file(1) end)
|
config = true
|
||||||
vim.keymap.set("n", "<C-t>", function() require("harpoon.ui").nav_file(2) end)
|
|
||||||
vim.keymap.set("n", "<C-n>", function() require("harpoon.ui").nav_file(3) end)
|
|
||||||
vim.keymap.set("n", "<C-s>", function() require("harpoon.ui").nav_file(4) end)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- vim.pack.add({
|
||||||
|
-- {
|
||||||
|
-- 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", "<leader>a", function() harpoon:list():add() end)
|
||||||
|
-- vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
||||||
|
--
|
||||||
|
-- vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
|
||||||
|
-- vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
|
||||||
|
-- vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
|
||||||
|
-- vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"folke/lazy.nvim",
|
|
||||||
tag = "stable"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +1,34 @@
|
|||||||
return {
|
return {
|
||||||
{
|
'nvim-lualine/lualine.nvim',
|
||||||
'nvim-lualine/lualine.nvim',
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||||
event = "VimEnter",
|
event = "VeryLazy",
|
||||||
dependencies = {
|
opts = {
|
||||||
'nvim-tree/nvim-web-devicons'
|
options = { theme = 'gruvbox_dark' },
|
||||||
|
extensions = {
|
||||||
|
'mason',
|
||||||
|
'toggleterm'
|
||||||
},
|
},
|
||||||
opts = {
|
sections = {
|
||||||
options = {
|
lualine_c = {
|
||||||
theme = 'gruvbox_dark'
|
{
|
||||||
|
"filename",
|
||||||
|
path = 1,
|
||||||
|
shorting_target = 50,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
extensions = {
|
lualine_b = { 'branch' },
|
||||||
'nvim-tree',
|
lualine_x = { 'encoding' },
|
||||||
'trouble',
|
lualine_y = {
|
||||||
'mason',
|
{
|
||||||
'lazy',
|
function()
|
||||||
'toggleterm'
|
local reg = vim.fn.reg_recording()
|
||||||
},
|
if reg ~= "" then
|
||||||
sections = {
|
return "Recording @" .. reg
|
||||||
lualine_x = {
|
else
|
||||||
{
|
return ""
|
||||||
require("noice").api.statusline.mode.get,
|
end
|
||||||
cond = require("noice").api.statusline.mode.has,
|
end,
|
||||||
color = {
|
color = { fg = "#fabd2f" }
|
||||||
fg = "#ff9e64"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
|
||||||
}, "<c-j>", function() require("luasnip").expand() end, {
|
|
||||||
silent = true
|
|
||||||
})
|
|
||||||
vim.keymap.set({
|
|
||||||
"i",
|
|
||||||
"s"
|
|
||||||
}, "<c-j>", function() require("luasnip").jump(1) end, {
|
|
||||||
silent = true
|
|
||||||
})
|
|
||||||
vim.keymap.set({
|
|
||||||
"i",
|
|
||||||
"s"
|
|
||||||
}, "<c-k>", 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 = "<leader>v"
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
-- TODO: Implement
|
||||||
|
|
||||||
|
-- A server implementation is just a function that returns a table with several methods
|
||||||
|
-- `dispatchers` is a table with a couple methods that allow the server to interact with the client
|
||||||
|
local function server(dispatchers)
|
||||||
|
local closing = false
|
||||||
|
local srv = {}
|
||||||
|
|
||||||
|
-- This method is called each time the client makes a request to the server
|
||||||
|
-- `method` is the LSP method name
|
||||||
|
-- `params` is the payload that the client sends
|
||||||
|
-- `callback` is a function which takes two parameters: `err` and `result`
|
||||||
|
-- The callback must be called to send a response to the client
|
||||||
|
-- To learn more about what method names are available and the structure of
|
||||||
|
-- the payloads you'll need to read the specification:
|
||||||
|
-- https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/
|
||||||
|
function srv.request(method, params, callback)
|
||||||
|
if method == 'initialize' then
|
||||||
|
callback(nil, { capabilities = {} })
|
||||||
|
elseif method == 'shutdown' then
|
||||||
|
callback(nil, nil)
|
||||||
|
end
|
||||||
|
return true, 1
|
||||||
|
end
|
||||||
|
|
||||||
|
-- This method is called each time the client sends a notification to the server
|
||||||
|
-- The difference between `request` and `notify` is that notifications don't expect a response
|
||||||
|
function srv.notify(method, params)
|
||||||
|
if method == 'exit' then
|
||||||
|
dispatchers.on_exit(0, 15)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Indicates if the client is shutting down
|
||||||
|
function srv.is_closing()
|
||||||
|
return closing
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Callend when the client wants to terminate the process
|
||||||
|
function srv.terminate()
|
||||||
|
closing = true
|
||||||
|
end
|
||||||
|
|
||||||
|
return srv
|
||||||
|
end
|
||||||
|
|
||||||
|
-- print( require("luasnip").get_current_choices())
|
||||||
|
|
||||||
|
-- vim.lsp.start({ name = "luasnip", cmd = server })
|
||||||
18
nvim/.config/nvim/lua/plugins/luasnip/init.lua
Normal file
18
nvim/.config/nvim/lua/plugins/luasnip/init.lua
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
return {
|
||||||
|
"https://github.com/rafamadriz/friendly-snippets",
|
||||||
|
dependencies = { "https://github.com/L3MON4D3/LuaSnip" },
|
||||||
|
event = "InsertEnter",
|
||||||
|
config = function()
|
||||||
|
local loader = require("luasnip.loaders.from_lua")
|
||||||
|
loader.lazy_load({ paths = { "./snippets" } })
|
||||||
|
|
||||||
|
-- TODO: Find out how to enable autosnippets without having the status line disappear
|
||||||
|
require("luasnip").config.set_config({
|
||||||
|
-- enable_autosnippets = true,
|
||||||
|
store_selection_keys = "<leader>v"
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.keymap.set({ "i", "s" }, "<c-j>", function() require("luasnip").jump(1) end, { silent = true })
|
||||||
|
vim.keymap.set({ "i", "s" }, "<c-k>", function() require("luasnip").jump(-1) end, { silent = true })
|
||||||
|
end
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
return {
|
|
||||||
"hedyhli/markdown-toc.nvim",
|
|
||||||
cmd = {
|
|
||||||
"Mtoc"
|
|
||||||
}, -- Or, lazy load on "Mtoc" command
|
|
||||||
opts = {}
|
|
||||||
}
|
|
||||||
23
nvim/.config/nvim/lua/plugins/markview.lua
Normal file
23
nvim/.config/nvim/lua/plugins/markview.lua
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
return {
|
||||||
|
"OXY2DEV/markview.nvim",
|
||||||
|
lazy = false,
|
||||||
|
}
|
||||||
|
-- return {
|
||||||
|
-- "iamcco/markdown-preview.nvim",
|
||||||
|
-- cmd = { "MarkdownPreview" },
|
||||||
|
-- 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
|
||||||
|
-- }
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
return {
|
return {
|
||||||
'williamboman/mason.nvim',
|
"mason-org/mason-lspconfig.nvim",
|
||||||
lazy = false,
|
dependencies = {
|
||||||
opts = {
|
{ "mason-org/mason.nvim", config = true },
|
||||||
registries = {
|
"neovim/nvim-lspconfig",
|
||||||
"github:antsouchlos/mason-registry",
|
},
|
||||||
"github:mason-org/mason-registry"
|
event = "VeryLazy",
|
||||||
}
|
config = true,
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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", "<localleader>rc", runner.run_cell, {
|
|
||||||
-- desc = "run cell",
|
|
||||||
-- silent = true
|
|
||||||
-- })
|
|
||||||
-- vim.keymap.set("n", "<localleader>ra", runner.run_above, {
|
|
||||||
-- desc = "run cell and above",
|
|
||||||
-- silent = true
|
|
||||||
-- })
|
|
||||||
-- vim.keymap.set("n", "<localleader>rA", runner.run_all, {
|
|
||||||
-- desc = "run all cells",
|
|
||||||
-- silent = true
|
|
||||||
-- })
|
|
||||||
-- vim.keymap.set("n", "<localleader>rl", runner.run_line, {
|
|
||||||
-- desc = "run line",
|
|
||||||
-- silent = true
|
|
||||||
-- })
|
|
||||||
-- vim.keymap.set("v", "<localleader>r", runner.run_range, {
|
|
||||||
-- desc = "run visual range",
|
|
||||||
-- silent = true
|
|
||||||
-- })
|
|
||||||
-- vim.keymap.set("n", "<localleader>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 = "<leader>rn",
|
|
||||||
references = "gr",
|
|
||||||
format = "<leader>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", "<localleader>mi", ":MoltenInit<CR>",
|
|
||||||
{silent = true, desc = "Initialize the plugin"})
|
|
||||||
vim.keymap.set("n", "<localleader>e", ":MoltenEvaluateOperator<CR>",
|
|
||||||
{silent = true, desc = "run operator selection"})
|
|
||||||
vim.keymap.set("n", "<localleader>rl", ":MoltenEvaluateLine<CR>",
|
|
||||||
{silent = true, desc = "evaluate line"})
|
|
||||||
vim.keymap.set("n", "<localleader>rr", ":MoltenReevaluateCell<CR>",
|
|
||||||
{silent = true, desc = "re-evaluate cell"})
|
|
||||||
vim.keymap.set("v", "<localleader>r",
|
|
||||||
":<C-u>MoltenEvaluateVisual<CR>gv",
|
|
||||||
{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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,17 +1,13 @@
|
|||||||
-- lazy.nvim
|
|
||||||
return {
|
return {
|
||||||
"folke/noice.nvim",
|
"https://github.com/folke/noice.nvim",
|
||||||
|
dependencies = { "https://github.com/MunifTanjim/nui.nvim" },
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
opts = {
|
opts = {
|
||||||
lsp = {
|
messages = { enabled = false },
|
||||||
signature = {
|
|
||||||
enabled = false
|
|
||||||
},
|
|
||||||
hover = {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
views = {
|
views = {
|
||||||
|
history = {
|
||||||
|
{ event = "lsp", kind = "" },
|
||||||
|
},
|
||||||
cmdline_popup = {
|
cmdline_popup = {
|
||||||
backend = "popup",
|
backend = "popup",
|
||||||
relative = "editor",
|
relative = "editor",
|
||||||
@@ -19,9 +15,7 @@ return {
|
|||||||
row = -1,
|
row = -1,
|
||||||
col = "0%"
|
col = "0%"
|
||||||
},
|
},
|
||||||
border = {
|
border = { style = "none" }
|
||||||
style = "none"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
cmdline_popupmenu = {
|
cmdline_popupmenu = {
|
||||||
relative = "editor",
|
relative = "editor",
|
||||||
@@ -29,10 +23,18 @@ return {
|
|||||||
row = -2,
|
row = -2,
|
||||||
col = "0%"
|
col = "0%"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
mini = {
|
||||||
|
border = { style = "rounded" },
|
||||||
|
position = {
|
||||||
|
row = -2,
|
||||||
|
col = "100%",
|
||||||
|
},
|
||||||
|
size = {
|
||||||
|
max_width = 50,
|
||||||
|
max_height = 4,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
dependencies = {
|
|
||||||
"MunifTanjim/nui.nvim"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
return {
|
return {
|
||||||
'stevearc/oil.nvim',
|
"stevearc/oil.nvim",
|
||||||
opts = {},
|
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-tree/nvim-web-devicons"
|
"nvim-tree/nvim-web-devicons"
|
||||||
},
|
},
|
||||||
|
lazy = false, -- Make sure oil is available for, e.g., `nvim .`
|
||||||
init = function()
|
init = function()
|
||||||
vim.keymap.set("n", "-", "<CMD>Oil<CR>", {
|
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
|
||||||
desc = "Open parent directory"
|
|
||||||
})
|
|
||||||
end,
|
end,
|
||||||
lazy = false
|
config = true
|
||||||
}
|
}
|
||||||
|
|||||||
15
nvim/.config/nvim/lua/plugins/outline.lua
Normal file
15
nvim/.config/nvim/lua/plugins/outline.lua
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
return {
|
||||||
|
"https://github.com/hedyhli/outline.nvim",
|
||||||
|
keys = {
|
||||||
|
{ "<leader>l", "<cmd>Outline<CR>", desc = "Toggle Outline" }
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
outline_window = {
|
||||||
|
focus_on_open = false,
|
||||||
|
},
|
||||||
|
symbol_folding = {
|
||||||
|
autofold_depth = 3,
|
||||||
|
markers = { '', '' },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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", "<leader>oo", function() require("overseer").toggle() end, {
|
|
||||||
desc = "Toggle"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", "<leader>or", ":OverseerRun<CR>", {
|
|
||||||
desc = "Run"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", "<leader>oq", ":OverseerQuickAction<CR>", {
|
|
||||||
desc = "Quick Action"
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", "<leader>of", ":OverseerQuickAction open float<CR>", {
|
|
||||||
desc = "Open Float"
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@@ -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",
|
|
||||||
'<leader>v',
|
|
||||||
"<cmd>PastifyAfter<CR>"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
noremap = true,
|
|
||||||
mode = "n",
|
|
||||||
'<leader>v',
|
|
||||||
"<cmd>PastifyAfter<CR>"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
noremap = true,
|
|
||||||
mode = "n",
|
|
||||||
'<leader>V',
|
|
||||||
"<cmd>Pastify<CR>"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require('pastify').setup {
|
|
||||||
opts = {
|
|
||||||
local_path = '/res/'
|
|
||||||
},
|
|
||||||
ft = {
|
|
||||||
markdown = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
return {
|
return {
|
||||||
{
|
"https://github.com/tpope/vim-surround",
|
||||||
"tpope/vim-surround",
|
event = "InsertEnter"
|
||||||
event = "InsertEnter"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,67 +1,24 @@
|
|||||||
-- -----------------
|
|
||||||
-- -- Helper Functions
|
|
||||||
-- -------------------
|
|
||||||
-- -- If in a git repo, execute the given function with the option
|
|
||||||
-- -- "cwd=<git root>". 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 {
|
return {
|
||||||
{
|
"https://github.com/nvim-telescope/telescope.nvim",
|
||||||
'nvim-telescope/telescope.nvim',
|
dependencies = {
|
||||||
version = '0.1.5',
|
"https://github.com/nvim-lua/plenary.nvim",
|
||||||
dependencies = {
|
"https://github.com/nvim-telescope/telescope-ui-select.nvim",
|
||||||
{
|
},
|
||||||
'nvim-lua/plenary.nvim',
|
cmd = { "Telescope" },
|
||||||
'folke/trouble.nvim',
|
keys = {
|
||||||
|
{ "<leader>ff", function() require("telescope.builtin").find_files() end, desc = "Files" },
|
||||||
|
{ "<leader>fg", function() require("telescope.builtin").live_grep() end, desc = "grep" },
|
||||||
|
{ "<leader>fa", function() require("telescope.builtin").find_files({ hidden = true }) end, desc = "All files" },
|
||||||
|
{ "<leader>fb", function() require("telescope.builtin").buffers() end, desc = "Buffers" },
|
||||||
|
{ "<leader>fh", function() require("telescope.builtin").help_tags() end, desc = "Help tags" }
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("telescope").setup {
|
||||||
|
extensions = {
|
||||||
|
["ui-select"] = {
|
||||||
|
require("telescope.themes").get_dropdown()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
cmd = "Telescope",
|
end
|
||||||
init = function()
|
|
||||||
-- Set up keymaps
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>ff', function() require("telescope.builtin").find_files() end,
|
|
||||||
{ desc = "Files" })
|
|
||||||
vim.keymap.set('n', '<leader>fg', function() require("telescope.builtin").live_grep() end, { desc = "grep" })
|
|
||||||
vim.keymap.set('n', '<leader>fa', function()
|
|
||||||
require("telescope.builtin").find_files({ hidden = true })
|
|
||||||
end, { desc = "All files" })
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>fb', function() require("telescope.builtin").buffers() end, { desc = "Buffers" })
|
|
||||||
vim.keymap.set('n', '<leader>fh', function() require("telescope.builtin").help_tags() end,
|
|
||||||
{ desc = "Help tags" })
|
|
||||||
|
|
||||||
-- Set up trouble
|
|
||||||
|
|
||||||
local open_with_trouble = require("trouble.sources.telescope").open
|
|
||||||
local telescope = require("telescope")
|
|
||||||
|
|
||||||
telescope.setup({
|
|
||||||
defaults = {
|
|
||||||
mappings = {
|
|
||||||
i = { ["<c-t>"] = open_with_trouble },
|
|
||||||
n = { ["<c-t>"] = open_with_trouble },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
12
nvim/.config/nvim/lua/plugins/theme.lua
Normal file
12
nvim/.config/nvim/lua/plugins/theme.lua
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
return {
|
||||||
|
"ellisonleao/gruvbox.nvim",
|
||||||
|
priority = 1000,
|
||||||
|
opts = {
|
||||||
|
contrast = "hard",
|
||||||
|
transparent_mode = true
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
require("gruvbox").setup(opts)
|
||||||
|
vim.cmd("colorscheme gruvbox")
|
||||||
|
end
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
9
nvim/.config/nvim/lua/plugins/todo-comments.lua
Normal file
9
nvim/.config/nvim/lua/plugins/todo-comments.lua
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
return {
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
event = "BufEnter",
|
||||||
|
keys = {
|
||||||
|
{"<leader>ft", ":TodoTelescope<CR>", desc = "TODOs"}
|
||||||
|
},
|
||||||
|
config = true
|
||||||
|
}
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"folke/todo-comments.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim"
|
|
||||||
},
|
|
||||||
opts = {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,21 +1,10 @@
|
|||||||
return {
|
return {
|
||||||
{
|
"https://github.com/akinsho/toggleterm.nvim",
|
||||||
"akinsho/toggleterm.nvim",
|
keys = {
|
||||||
version = '*',
|
"<c-\\>"
|
||||||
opts = {
|
},
|
||||||
size = 30,
|
opts = {
|
||||||
open_mapping = [[<c-\>]]
|
size = 30,
|
||||||
},
|
open_mapping = "<c-\\>"
|
||||||
cmd = {
|
|
||||||
"ToggleTerm",
|
|
||||||
"TermExec",
|
|
||||||
"ToggleTermToggleAll",
|
|
||||||
"ToggleTermSendCurrentLine",
|
|
||||||
"ToggleTermSendVisualLines",
|
|
||||||
"ToggleTermSendVisualSelection"
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
[[<c-\>]]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,42 +1,23 @@
|
|||||||
return {
|
return {
|
||||||
{
|
"nvim-treesitter/nvim-treesitter",
|
||||||
"nvim-treesitter/nvim-treesitter",
|
branch = 'main',
|
||||||
build = ":TSUpdate",
|
lazy = false, -- This plugin does not support lazy loading
|
||||||
event = {
|
build = ":TSUpdate",
|
||||||
"BufReadPost",
|
opts = {
|
||||||
"BufNewFile"
|
ensure_installed = {
|
||||||
|
"cpp",
|
||||||
|
"c",
|
||||||
|
"python",
|
||||||
|
"rust",
|
||||||
|
"lua",
|
||||||
|
"markdown",
|
||||||
|
"vimdoc",
|
||||||
},
|
},
|
||||||
cmd = {
|
auto_install = true,
|
||||||
"TSInstall",
|
highlight = {
|
||||||
"TSBufEnable",
|
enable = true,
|
||||||
"TSBufDisable",
|
-- TODO: Is this required?
|
||||||
"TSModuleInfo",
|
additional_vim_regex_highlighting = { "latex" } -- Required for vimtex
|
||||||
"TSInstallSync"
|
}
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
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 = false,
|
|
||||||
-- disable = {
|
|
||||||
-- "latex"
|
|
||||||
-- },
|
|
||||||
additional_vim_regex_highlighting = {
|
|
||||||
"latex"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,64 +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 = {
|
|
||||||
{
|
|
||||||
"<leader>xw",
|
|
||||||
"<cmd>Trouble diagnostics toggle<cr>",
|
|
||||||
desc = "Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xd",
|
|
||||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
|
||||||
desc = "Buffer Diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xs",
|
|
||||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
|
||||||
desc = "Symbols (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>xt",
|
|
||||||
"<cmd>Trouble todo toggle focus=true<cr>",
|
|
||||||
desc = "Symbols (Trouble)",
|
|
||||||
},
|
|
||||||
-- {
|
|
||||||
-- "<leader>cl",
|
|
||||||
-- "<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
|
||||||
-- desc = "LSP Definitions / references / ... (Trouble)",
|
|
||||||
-- },
|
|
||||||
-- {
|
|
||||||
-- "<leader>xl",
|
|
||||||
-- "<cmd>Trouble loclist toggle<cr>",
|
|
||||||
-- desc = "Location List (Trouble)",
|
|
||||||
-- },
|
|
||||||
{
|
|
||||||
"<leader>xq",
|
|
||||||
"<cmd>Trouble qflist toggle<cr>",
|
|
||||||
desc = "Quickfix List (Trouble)",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,17 +1,6 @@
|
|||||||
return {
|
return {
|
||||||
{
|
"https://github.com/mbbill/undotree",
|
||||||
'mbbill/undotree',
|
keys = {
|
||||||
cmd = {
|
{ "<leader>u", "<cmd>UndotreeToggle<CR>", desc = "Undotree" }
|
||||||
"UndotreeToggle",
|
|
||||||
"UndotreeHide",
|
|
||||||
"UndotreeShow",
|
|
||||||
"UndotreeFocus",
|
|
||||||
"UndotreePersistUndo"
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
vim.keymap.set("n", "<leader>u", "<cmd>UndotreeToggle<CR>", {
|
|
||||||
desc = "Undotree"
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +1,30 @@
|
|||||||
return {
|
return {
|
||||||
{
|
"lervag/vimtex",
|
||||||
"lervag/vimtex",
|
lazy = false, -- For backward search to work, :VimtexInverseSearch must always be available
|
||||||
ft = {
|
config = function()
|
||||||
"tex",
|
-- General configuration
|
||||||
"bib"
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
-- General configuration
|
|
||||||
|
|
||||||
vim.cmd("syntax enable")
|
vim.cmd("syntax enable")
|
||||||
|
|
||||||
vim.g.vimtex_compiler_latexmk = {
|
vim.g.vimtex_compiler_latexmk = {
|
||||||
out_dir = 'build',
|
out_dir = 'build',
|
||||||
options = {
|
options = {
|
||||||
'-shell-escape',
|
'-shell-escape',
|
||||||
'-verbose',
|
'-verbose',
|
||||||
'-file-line-error',
|
'-file-line-error',
|
||||||
'-interaction=nonstopmode',
|
'-interaction=nonstopmode',
|
||||||
'-synctex=1'
|
'-synctex=1'
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
vim.g.vimtex_view_method = 'zathura'
|
vim.g.vimtex_view_method = 'zathura_simple'
|
||||||
vim.g.vimtex_quickfix_mode = 0
|
vim.g.vimtex_quickfix_mode = 0
|
||||||
|
|
||||||
-- Concealment
|
-- Concealment
|
||||||
|
|
||||||
vim.cmd([[set conceallevel=1]])
|
-- TODO: Use lua instead of vimscript
|
||||||
vim.cmd([[
|
vim.cmd([[set conceallevel=1]])
|
||||||
|
vim.cmd([[
|
||||||
let g:vimtex_syntax_conceal = {
|
let g:vimtex_syntax_conceal = {
|
||||||
\ 'accents': 1,
|
\ 'accents': 1,
|
||||||
\ 'ligatures': 1,
|
\ 'ligatures': 1,
|
||||||
@@ -48,16 +45,5 @@ return {
|
|||||||
\ {'name': 'bm', 'mathmode': 1, 'argstyle': 'bold', 'conceal': 1},
|
\ {'name': 'bm', 'mathmode': 1, 'argstyle': 'bold', 'conceal': 1},
|
||||||
\]
|
\]
|
||||||
]])
|
]])
|
||||||
|
end
|
||||||
-- 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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,46 +1,26 @@
|
|||||||
return {
|
return {
|
||||||
{
|
"https://github.com/folke/which-key.nvim",
|
||||||
"folke/which-key.nvim",
|
init = function()
|
||||||
event = "VeryLazy",
|
vim.o.timeout = true
|
||||||
init = function()
|
vim.o.timeoutlen = 300
|
||||||
vim.o.timeout = true
|
end,
|
||||||
vim.o.timeoutlen = 300
|
event = "VeryLazy",
|
||||||
end,
|
opts = {
|
||||||
opts = {
|
-- TODO: Add names for other nameless keymaps, e.g.,
|
||||||
defaults = {
|
-- defaults = {
|
||||||
["<leader>x"] = {
|
-- ["<leader>x"] = { name = "+Trouble" }
|
||||||
name = "+Trouble"
|
-- }
|
||||||
}
|
},
|
||||||
}
|
config = function(_, opts)
|
||||||
},
|
require("which-key").setup(opts)
|
||||||
config = function()
|
|
||||||
local wk = require("which-key")
|
require("which-key").add({
|
||||||
wk.add({
|
{ "<leader>d", group = "Debug" },
|
||||||
{
|
{ "<leader>f", group = "Find" },
|
||||||
"<leader>d",
|
{ "<leader>l", group = "LSP" },
|
||||||
group = "Debug"
|
{ "<leader>o", group = "Overseer" },
|
||||||
},
|
{ "<leader>s", group = "Session" },
|
||||||
{
|
{ "<leader>x", group = "Trouble" }
|
||||||
"<leader>f",
|
})
|
||||||
group = "Find"
|
end
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>l",
|
|
||||||
group = "LSP"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>o",
|
|
||||||
group = "Overseer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>s",
|
|
||||||
group = "Session"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>x",
|
|
||||||
group = "Trouble"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,64 +1,60 @@
|
|||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = "\\"
|
||||||
|
|
||||||
vim.opt.nu = true
|
|
||||||
vim.opt.relativenumber = true
|
|
||||||
|
|
||||||
vim.opt.tabstop = 4
|
|
||||||
vim.opt.softtabstop = 4
|
|
||||||
vim.opt.shiftwidth = 4
|
vim.opt.shiftwidth = 4
|
||||||
vim.opt.expandtab = true
|
vim.opt.expandtab = true
|
||||||
|
|
||||||
vim.opt.smartindent = true
|
|
||||||
|
|
||||||
vim.opt.wrap = false
|
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.undofile = true
|
||||||
|
|
||||||
|
vim.opt.signcolumn = "yes"
|
||||||
|
|
||||||
|
vim.opt.number = true
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
|
||||||
vim.opt.hlsearch = false
|
vim.opt.hlsearch = false
|
||||||
vim.opt.incsearch = true
|
vim.opt.incsearch = true
|
||||||
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
|
|
||||||
vim.opt.scrolloff = 8
|
vim.opt.scrolloff = 8
|
||||||
vim.opt.signcolumn = "yes"
|
|
||||||
|
|
||||||
vim.opt.updatetime = 50
|
vim.opt.exrc = true
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('FileType', {
|
vim.api.nvim_create_autocmd('FileType', {
|
||||||
pattern = 'cpp',
|
pattern = 'cpp',
|
||||||
callback = function() vim.bo.commentstring = '// %s' end
|
callback = function() vim.bo.commentstring = '// %s' end
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('FileType', {
|
-- TODO: Is this necessary?
|
||||||
pattern = 'rust',
|
--
|
||||||
callback = function()
|
-- vim.api.nvim_create_autocmd('FileType', {
|
||||||
vim.cmd [[
|
-- pattern = 'rust',
|
||||||
let &efm = ''
|
-- callback = function()
|
||||||
" Random non issue stuff
|
-- vim.cmd [[
|
||||||
let &efm .= '%-G%.%#aborting due to previous error%.%#,'
|
-- let &efm = ''
|
||||||
let &efm .= '%-G%.%#test failed, to rerun pass%.%#,'
|
-- " Random non issue stuff
|
||||||
" Capture enter directory events for doc tests
|
-- let &efm .= '%-G%.%#aborting due to previous error%.%#,'
|
||||||
let &efm .= '%D%*\sDoc-tests %f%.%#,'
|
-- let &efm .= '%-G%.%#test failed, to rerun pass%.%#,'
|
||||||
" Doc Tests
|
-- " Capture enter directory events for doc tests
|
||||||
let &efm .= '%E---- %f - %o (line %l) stdout ----,'
|
-- let &efm .= '%D%*\sDoc-tests %f%.%#,'
|
||||||
let &efm .= '%Cerror%m,'
|
-- " Doc Tests
|
||||||
let &efm .= '%-Z%*\s--> %f:%l:%c,'
|
-- let &efm .= '%E---- %f - %o (line %l) stdout ----,'
|
||||||
" Unit tests && `tests/` dir failures
|
-- let &efm .= '%Cerror%m,'
|
||||||
" This pattern has to come _after_ the doc test one
|
-- let &efm .= '%-Z%*\s--> %f:%l:%c,'
|
||||||
let &efm .= '%E---- %o stdout ----,'
|
-- " Unit tests && `tests/` dir failures
|
||||||
let &efm .= '%Zthread %.%# panicked at %m\, %f:%l:%c,'
|
-- " This pattern has to come _after_ the doc test one
|
||||||
let &efm .= '%Cthread %.%# panicked at %m,'
|
-- let &efm .= '%E---- %o stdout ----,'
|
||||||
let &efm .= '%+C%*\sleft: %.%#,'
|
-- let &efm .= '%Zthread %.%# panicked at %m\, %f:%l:%c,'
|
||||||
let &efm .= '%+Z%*\sright: %.%#\, %f:%l:%c,'
|
-- let &efm .= '%Cthread %.%# panicked at %m,'
|
||||||
" Compiler Errors and Warnings
|
-- let &efm .= '%+C%*\sleft: %.%#,'
|
||||||
let &efm .= '%Eerror%m,'
|
-- let &efm .= '%+Z%*\sright: %.%#\, %f:%l:%c,'
|
||||||
let &efm .= '%Wwarning: %m,'
|
-- " Compiler Errors and Warnings
|
||||||
let &efm .= '%-Z%*\s--> %f:%l:%c,'
|
-- let &efm .= '%Eerror%m,'
|
||||||
]]
|
-- let &efm .= '%Wwarning: %m,'
|
||||||
end
|
-- let &efm .= '%-Z%*\s--> %f:%l:%c,'
|
||||||
})
|
-- ]]
|
||||||
|
-- end
|
||||||
|
-- })
|
||||||
|
|
||||||
vim.opt.exrc = true
|
vim.opt.cmdheight = 0
|
||||||
|
|
||||||
|
vim.o.updatetime = 50
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ input "type:touchpad" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
input type:keyboard {
|
input type:keyboard {
|
||||||
xkb_layout de(nodeadkeys),us,gr
|
xkb_layout de(nodeadkeys),gr,de(neo)
|
||||||
xkb_options grp:ctrls_toggle,caps:escape
|
xkb_options grp:ctrls_toggle,caps:escape
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
#
|
||||||
|
#
|
||||||
|
# General options
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
set-option -g default-shell /bin/zsh
|
set-option -g default-shell /bin/zsh
|
||||||
setw -g mode-keys vi
|
setw -g mode-keys vi
|
||||||
|
|
||||||
@@ -13,42 +20,33 @@ set -s escape-time 0
|
|||||||
|
|
||||||
set -g allow-passthrough on
|
set -g allow-passthrough on
|
||||||
|
|
||||||
## COLORSCHEME: gruvbox dark (medium)
|
# TODO: Do we need this? What does it do?
|
||||||
|
# vim: set ft=tmux tw=0 nowrap:
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Theme: gruvbox dark (medium)
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
set-option -g status "on"
|
set-option -g status "on"
|
||||||
|
|
||||||
# default statusbar color
|
|
||||||
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
|
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
|
||||||
|
|
||||||
# default window title colors
|
|
||||||
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
|
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
|
||||||
|
|
||||||
# default window with an activity alert
|
|
||||||
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
|
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
|
||||||
|
|
||||||
# active window title colors
|
|
||||||
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
|
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
|
||||||
|
|
||||||
# pane border
|
|
||||||
set-option -g pane-active-border-style fg=colour250 #fg2
|
set-option -g pane-active-border-style fg=colour250 #fg2
|
||||||
set-option -g pane-border-style fg=colour237 #bg1
|
set-option -g pane-border-style fg=colour237 #bg1
|
||||||
|
|
||||||
# message infos
|
|
||||||
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
|
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
|
||||||
|
|
||||||
# writing commands inactive
|
|
||||||
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
|
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
|
||||||
|
|
||||||
# pane number display
|
|
||||||
set-option -g display-panes-active-colour colour250 #fg2
|
set-option -g display-panes-active-colour colour250 #fg2
|
||||||
set-option -g display-panes-colour colour237 #bg1
|
set-option -g display-panes-colour colour237 #bg1
|
||||||
|
|
||||||
# clock
|
|
||||||
set-window-option -g clock-mode-colour colour109 #blue
|
set-window-option -g clock-mode-colour colour109 #blue
|
||||||
|
|
||||||
# bell
|
|
||||||
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
|
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
|
||||||
|
|
||||||
## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
|
|
||||||
set-option -g status-justify "left"
|
set-option -g status-justify "left"
|
||||||
set-option -g status-left-style none
|
set-option -g status-left-style none
|
||||||
set-option -g status-left-length "80"
|
set-option -g status-left-length "80"
|
||||||
@@ -57,10 +55,9 @@ set-option -g status-right-length "80"
|
|||||||
set-window-option -g window-status-separator ""
|
set-window-option -g window-status-separator ""
|
||||||
|
|
||||||
set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
|
set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
|
||||||
set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
|
set-option -g status-right "#[fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
|
||||||
|
|
||||||
set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
|
set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
|
||||||
set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
|
set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
|
||||||
|
|
||||||
# vim: set ft=tmux tw=0 nowrap:
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ set completion-highlight-bg "rgba(131,165,152,1)" # bright:blue
|
|||||||
set completion-highlight-fg "rgba(80,73,69,1)" # bg2
|
set completion-highlight-fg "rgba(80,73,69,1)" # bg2
|
||||||
|
|
||||||
# Define the color in index mode
|
# Define the color in index mode
|
||||||
set index-bg "rgba(80,73,69,1)" # bg2
|
# set index-bg "rgba(80,73,69,1)" # bg2
|
||||||
set index-fg "rgba(235,219,178,1)" # fg
|
# set index-fg "rgba(235,219,178,1)" # fg
|
||||||
set index-active-bg "rgba(131,165,152,1)" # bright:blue
|
# set index-active-bg "rgba(131,165,152,1)" # bright:blue
|
||||||
set index-active-fg "rgba(80,73,69,1)" # bg2
|
# set index-active-fg "rgba(80,73,69,1)" # bg2
|
||||||
|
|
||||||
set inputbar-bg "rgba(29,32,33,1)" # bg
|
set inputbar-bg "rgba(29,32,33,1)" # bg
|
||||||
set inputbar-fg "rgba(235,219,178,1)" # fg
|
set inputbar-fg "rgba(235,219,178,1)" # fg
|
||||||
|
|||||||
Reference in New Issue
Block a user