├── .github ├── ISSUE_TEMPLATE │ └── issue-template.md └── auto-comment.yml ├── .gitignore ├── .gitmodules ├── .stylua.toml ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── doc ├── helpdoc.md └── keybinds.md ├── init.lua └── lua ├── autocmds.lua ├── config ├── lsp │ ├── init.lua │ ├── lua_lsp.lua │ └── setup.lua ├── modules │ └── init.lua └── plug │ ├── autopairs.lua │ ├── bufferline.lua │ ├── cmp.lua │ ├── dashboard.lua │ ├── gitsigns.lua │ ├── hop.lua │ ├── init.lua │ ├── lspkind.lua │ ├── lualine.lua │ ├── nvimcolorizer.lua │ ├── nvimcomment.lua │ ├── nvimtree.lua │ ├── tabline.lua │ ├── telescope.lua │ ├── treesitter.lua │ └── ultisnips.lua ├── keymap.lua ├── lib └── scheme.lua ├── options.lua ├── plug.lua └── themes ├── bluewery.lua ├── everforest.lua ├── gruvbox-material.lua ├── gruvbox.lua ├── lualine ├── bluewery.lua ├── custom.lua ├── everforest.lua ├── gruvbox-material.lua ├── gruvbox.lua ├── minimaldark.lua ├── monokai.lua ├── night-owl.lua ├── nord.lua └── onedark.lua ├── monokai.lua ├── night-owl.lua ├── nord.lua └── onedark.lua /.github/ISSUE_TEMPLATE/issue-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Issue Template 3 | about: A simple issue template 4 | title: "[ISSUE]: " 5 | labels: 'bug' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | # Please do NOT use github for submitting issues!!! 12 | 13 | Instead **Please** submit bugs to the tracker on sr.ht 14 | [bug tracker](https://todo.sr.ht/~theorytoe/nii-nvim-bugs/) 15 | 16 | issues on github will be automatically replied to with this information 17 | I will probably not check issues submitted on github. 18 | 19 | You can also send an email to the mailing list: [lists.sr.ht/~theorytoe/nii-nvim-discuss](https://lists.sr.ht/~theorytoe/nii-nvim-discuss) 20 | if you have any questions. 21 | -------------------------------------------------------------------------------- /.github/auto-comment.yml: -------------------------------------------------------------------------------- 1 | issuesOpened: > 2 | # Please do NOT use github for submitting issues!!! 3 | 4 | Instead **Please** submit bugs to the tracker on sr.ht 5 | [bug tracker](https://todo.sr.ht/~theorytoe/nii-nvim-bugs/) 6 | 7 | issues on github will be automatically replied to with this information 8 | I will probably not check issues submitted on github. 9 | 10 | You can also send an email to the mailing list: 11 | [lists.sr.ht/~theorytoe/nii-nvim-discuss](https://lists.sr.ht/~theorytoe/nii-nvim-discuss) if you have any questions. 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | plugin/* 2 | spell/* 3 | undo/* 4 | snips/* 5 | lua/config/modules/* 6 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "doc/wiki"] 2 | path = doc/wiki 3 | url = https://github.com/Theory-of-Everything/nii-nvim.wiki.git 4 | -------------------------------------------------------------------------------- /.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Tabs" 4 | indent_width = 4 5 | quote_style = "AutoPreferSingle" 6 | no_call_parentheses = false 7 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to nii-nvim 2 | 3 | Decided to help and contribute to [nii-nvim](https://sr.ht/~theorytoe/nii-nvim/)? Great! I am always looking for contributors! 4 | 5 | Please take a moment to review this document in order to make proper contributions and not waste time of the maintainer. 6 | 7 | Following these guidelines helps to communicate that you respect the time spent contributing to this Project. 8 | In return, I will reciprocate that respect in addressing contributions. 9 | 10 | ## Issues/Bug Reports 11 | 12 | **NOTE: I will not be consistently reviewing github issues, as I have moved away from github's workflow** 13 | 14 | If you encounter any bugs, please submit a ticket to the [issue tracker](https://todo.sr.ht/~theorytoe/nii-nvim-bugs) with a "bug" label. 15 | If you encounter dependency/update issues file a ticket with the "bump" tag. 16 | Keep all issue reports on-topic and relevant to the project. 17 | 18 | 19 | 20 | 21 | ## Code Conventions 22 | 23 | Code contributed to nii-nvim must follow these basic conventions: 24 | 25 | - All module definitions should be defined as `M` in the respective containing file 26 | Example: 27 | (correct) 28 | 29 | ```lua 30 | local M = {} 31 | 32 | M.myvar = 'hello world' 33 | 34 | M.myfunc = function() 35 | print('hello world') 36 | end 37 | 38 | return M 39 | ``` 40 | 41 | (incorrect) 42 | 43 | ```lua 44 | local module = {} 45 | 46 | module.myvar = 'hello world' 47 | 48 | module.myfunc = function() 49 | print('hello world') 50 | end 51 | 52 | return module 53 | ``` 54 | 55 | - All strings are encapsulated in single quotes `'`, nested quotes wil alternate between double quotes `"` and single quotes `'` 56 | Example: 57 | 58 | ```lua 59 | myvar0 = 'lua' -- correct! 60 | 61 | myvar1 = "fennel" -- incorrect! 62 | ``` 63 | 64 | - All files must have a brief description of their functionality and(or) layout/usage in multiline comments `--[[`/`--]]`. The contents of this comment should be tabbed once. 65 | Example: 66 | 67 | ```lua 68 | --[[ 69 | 70 | This is the file description with proper tabbing, 71 | contained in a multiline comment. 72 | Don't have descriptions in multiple single line comments 73 | There shold also be 1 line of space between the comment and the text body 74 | 75 | this is improper tabbing with imporper spacing in relation to the end comment! 76 | --]] 77 | ``` 78 | 79 | - Tab style should be 4 spaces (no expandtab). 80 | - All variables should be cast at the top of the file (unless local to a block) 81 | - All code should be well commented, with proper semantics as shown below. 82 | 83 | ```lua 84 | -- varbles can be commented like this regardless of size 85 | local mytable = { 86 | 'item1', 87 | 'item2', 88 | 'item3', 89 | } 90 | 91 | local myvarinline = nil -- small one-liners can be commented inline too (does not apply for blocks) 92 | 93 | 94 | cmd('syntax enable') -- Try to keep one-liners 95 | o.rnu = true -- tabbed the same distance 96 | o.nu = true -- away from code 97 | o.mouse = 'a' -- this makes comments and code 98 | o.cursorline = true -- much more readable 99 | o.modeline = true -- and keeps everything organized 100 | o.modelines = 5 -- for future me (or you) 101 | 102 | -- this is how to comment on block of code 103 | function myfunc() -- you can't comment a block like this 104 | print('myfunc() ran!') 105 | 106 | -- You CAN however comment on lines 107 | -- like this, just make sure there 108 | -- is a space above the comment block 109 | print('This is more cool stuff') 110 | end 111 | ``` 112 | 113 | - You can format all code automatically with [stylua](https://github.com/johnnymorganz/stylua) this project's stylua configuration is in the `.stylua.toml` file 114 | - (you may (or may not) need to rename the stylua config file to `stylua.toml` without the dot) 115 | - stylua tends to mess up on-liner comments. It tends to keep them right next to the code, and not tabbed. (be careful of this please) 116 | 117 | 118 | 119 | ## Commit Messages 120 | 121 | If you are into reading long articles, [this](https://medium.com/@nmpegetis/git-commit-message-conventions-841d6998fc4f) 122 | article is mostly what this project follows in terms of commit messages (although the whole history isn't like this) 123 | 124 | Here is the TD;DR: 125 | - Keep all commit messages in the imperative mood. 126 | - All commit messages must be short and concise. 127 | - All commits are preferred to be smaller than larger (atom commits). 128 | - all messages should follow this format: `(): ` 129 | - Where `:` is the kid of change (i.e `fix:`, `patch:`, `chore:`, `docs:`) and is followed by the (optional) scope and (required) colon. 130 | - Where `` is extra information about the change. 131 | - Where `` is a VERY SHORT description of the fix. 132 | - The commit message body (which is optional, but necessary for larger changes) should have a short description of the reasoning of the changes, and any potentially important details that the commit relates to. 133 | - The footer must reference any relevant issues/prs and indicate any issues/prs that that commit closes. 134 | - A boilerplate snippet: 135 | ``` 136 | [Issue-Code] (): 137 | 138 | 139 | 140 |