Skip to content
This repository has been archived by the owner on Jun 3, 2022. It is now read-only.

Potato1682/nvim

Repository files navigation

This project has been moved and is no longer maintained, please consider using Potato1682/naap.

nvim

Lua

My neovim settings

image

Sample source code by Peyang

Project board

Requirements

  • Neovim 0.5+

  • Python2, Python3 and Pipenv

    • Ubuntu: python2, python3, pipenv
    • Arch: python2, python, python-pipenv
  • Git

  • C Development Packages

    • GCC with C++ 11 support

    • Boost

    • CMake

    • GNU Make

    • Python Headers

    • libicu Headers

    • Ubuntu: build-essential, python2-dev,python3-dev, libicu-dev, libboost-all-dev, cmake

        $ sudo apt install -y build-essential python2-dev python3-dev libicu-dev libboost-all-dev cmake
    • Arch: base-devel, boost, cmake

        $ sudo pacman -S base-devel boost cmake --needed --noconfirm
  • Go

  • Node.js, NPM and Yarn

  • jq

  • Java >= 11 and Maven

    • Ubuntu: openjdk-11-jre, openjdk-11-jre-headleess, openjdk-11-dbg, maven
    • Arch: jdk11-openjdk, jre11-openjdk-headress, maven
  • Ripgrep (rg)

  • Ruby and Bundler

  • lolcat - Important

  • nonicons patched fonts

Features

  • Plugin Manager
  • Automatic plugin manager setup
  • Beautiful color schemes
  • Treesitter-based code highlighting
  • Super useful bufferline
  • Super functional statusline
  • Supercharged file explorer
  • Fuzzy search with floating window
  • Nerd fonts support
  • Language Server Protocol support
    • Code folding
    • Renaming
    • Completion
    • Database support
    • Diagnostics
      • Diagnostics report will show on statusline, bufferline, editor, and explorer
    • Show light bulb when code action is available
    • Show signature and document on hover
    • Automatic formatting
  • Rainbow brackets
  • Toggle comments
  • Show git status in editor
  • Wakatime support
  • Document generation
  • Indent line
  • Automatic pair insert
  • Git integrations
  • Leader key menu
  • Debug Adapter Protocol support
    • Toggle Breakpoint
    • Search Breakpoint
    • Debug Control
    • Automatic DAP Installation
  • Automatic root setting
  • Increase number on the fly
  • Show current context on bracket ending
  • Online collaboration
  • Zen mode
  • Show TODO List
  • Global settings
  • Errors List
  • Markdown preview
  • Template generation
  • Automatic license generation
  • Redmine integration
  • Custom color highlighting
  • Spell-check
  • Discord Rich Presence support
  • Under cursor increment and decrement
  • Editorconfig support
  • Line Notes

Trouble Shooting

Can't use Merge Tool

You need to add this setting to your git configuration:

[merge]
conflictStyle = diff3

Can't install java test runner with node-sass error

It may be because your Node.js version is too high.
May succeed by running these commands and temporarily lowering your Node.js version.

Command example for environment using system Node.js:

$ sudo npm i -g n
$ cd ~/.local/share/nvim/dapinstall/java/java-test
$ PATH="/usr/local/bin/node:$PATH" bash
$ npm i --cache $(mktemp -d)
$ npm run build-plugin

Some servers stopped working by exit code 125 or 126

If you're using podman, you may not be using unqualified search registries. ( code 125 )
Comment-out / Add the property to /etc/containers/registries.conf like this:

unqualified-search-registries = ["docker.io"]

If it doesn't work, you may not install OCI runtime. ( code 126 )
These are runtime binaries:

  • For cgroups v1 : runc
  • For cgroups v2 : crun

Discord Rich Presence is not working

nvim is using presence.nvim to show Rich Presence.
If you saw Failed to get Discord IPC socket error, your particular OS may not yet be supported, check Projects card. Or if you're using Flatpak'ed discord, this link might useful.