🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.
Find a file
Anshuman Medhi 6258b2b4ba
Add Treesitter extensions for better textobjects (#700)
This adds three plugins that use treesitters parsing to provide smarter text objects

[ts_textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) lets you define text objects for things like functions and classes

[ts_textsubjects](https://github.com/RRethy/nvim-treesitter-textsubjects.git) defines a smart text object that selects a semantic block around the cursor

[ts_hintobjects](https://github.com/mfussenegger/nvim-ts-hint-textobject) uses easymotion style hint labeling to show all the surrounding semantic blocks, letting you choose the correct one

I have also added which-key entries for all the above

Co-authored-by: Christian Chiarulli <chris.machine@pm.me>
2021-07-05 19:48:58 -04:00
.github Define a form for LSP issues (#626) 2021-07-04 10:49:35 -04:00
colors galaxyline will follow theme colors, still need themes that support these hl groups tho 2021-07-04 15:01:09 -04:00
ftdetect start formatting rules 2021-07-04 22:14:01 -03:00
ftplugin Add csharp ls setup for cs filetype (#712) 2021-07-05 19:39:40 -04:00
lua Add Treesitter extensions for better textobjects (#700) 2021-07-05 19:48:58 -04:00
utils fix user config 2021-07-05 16:05:15 -04:00
.gitignore (typo) ingore .stylua.toml in root of project 2021-07-04 23:35:14 -03:00
init.lua (feat) use neoformat as the defalt format option (#715) 2021-07-05 16:01:19 -04:00
LICENSE update license 2021-03-15 10:47:00 -04:00
README.md Testimonials (#713) 2021-07-05 15:32:45 -04:00

LunarVim Demo

Install In One Command!

Make sure you have the newest version of Neovim (0.5).

bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/lunarvim/stable/utils/installer/install.sh)

Installing LSP for your language

Just enter :LspInstall followed by <TAB> to see your options

NOTE I recommend installing lua language support to make work

Configuration file

To activate other plugins and language features use the lv-config.lua file provided in the nvim folder (~/.config/nvim/lv-config.lua)

Example:

-- O is the global options object

-- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT
-- general
O.auto_complete = true
O.relative_number = false
O.colorscheme = 'spacegray'
O.timeoutlen = 100
O.leader_key = ' '

-- After changing plugin config it is recommended to run :PackerCompile
O.plugin.hop.active = true
O.plugin.colorizer.active = true
O.plugin.trouble.active = true
O.plugin.lazygit.active = true
O.plugin.zen.active = true
O.plugin.markdown_preview.active = true

-- if you don't want all the parsers change this to a table of the ones you want
O.treesitter.ensure_installed = "all"
O.treesitter.ignore_install = {"haskell"}
O.treesitter.highlight.enabled = true

-- lua
O.lang.lua.autoformat = false
O.lang.lua.formatter = 'lua-format'

-- javascript
O.lang.tsserver.formatter = 'prettier'
O.lang.tsserver.linter = nil
O.lang.tsserver.autoformat = true

-- json
O.lang.json.autoformat = true

NOTE After changing a setting it is important to exit LunarVim and run the following:

:PackerInstall

:PackerCompile

Updating LunarVim

In order to update you should be aware of three things Plugins, LunarVim and Neovim

To update plugins:

:PackerUpdate

To update LunarVim:

cd ~/.config/nvim && git pull

Resources

Testimonials

"I have the processing power of a potato with 4 gb of ram and LunarVim runs perfectly."

  • @juanCortelezzi, LunarVim user.