Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nvimdev/dope
a modern structure neovim config template write in lua
https://github.com/nvimdev/dope
lua neovim neovim-config neovim-configuration neovim-plugin
Last synced: 5 days ago
JSON representation
a modern structure neovim config template write in lua
- Host: GitHub
- URL: https://github.com/nvimdev/dope
- Owner: nvimdev
- License: mit
- Created: 2022-07-02T07:24:55.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-12T20:53:44.000Z (about 1 year ago)
- Last Synced: 2024-08-02T13:34:06.315Z (3 months ago)
- Topics: lua, neovim, neovim-config, neovim-configuration, neovim-plugin
- Language: Lua
- Homepage:
- Size: 79.1 KB
- Stars: 360
- Watchers: 6
- Forks: 17
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
dope
## What is dope
Many people are interested in my [personal configuration](https://github.com/glepnir/nvim). So I created dope.
What does dope do? dope wants vimers to have their own config with high performance
fast speed and modernity.
## Structure
```
├── init.lua
├── lua
│ ├── core
│ │ ├── cli.lua
│ │ ├── helper.lua
│ │ ├── init.lua
│ │ ├── keymap.lua
│ │ ├── options.lua
│ │ └── pack.lua
│ ├── keymap
│ │ ├── config.lua
│ │ └── init.lua
│ └── modules
│ ├── completion
│ │ ├── config.lua
│ │ └── package.lua
│ ├── editor
│ │ ├── config.lua
│ │ └── package.lua
│ ├── tools
│ │ ├── config.lua
│ │ └── package.lua
│ └── ui
│ ├── config.lua
│ └── package.lua
├── snippets
│ ├── lua.json
│ ├── lua.lua
│ └── package.json
```- `core` heart of dope it include the api of dope
- `modlues` plugin module and config in this folder
- `snippets` vscode snippets json file## Usage
- Click button `Use this template` It will generate a new repo based on dope on your GitHub
### Cli tool
`bin/dope` is a cli tool for dope config. run `./bin/dope help` check more detail
you can use `/bin/dope debug ui,editor` for debug modues. when you get trouble
this is useful for your debug, this command mean disable `ui editor` modules.Then
the plugins in `ui,editor` modules not load.## How to install plugins
dope use [lazy.nvim](https://github.com/folk/lazy.nvim) as package management plugin. register a plugin in `package.lua` by using dope api `require('core.pack').package`. more usage check the
lazy.nvim doc and you can some examples in package.lua file.### How to create module
create a fold inside `modlues` folder and `package.lua` file you must created inside your module.
dope will auto read this file at startup.### How to config keymap
In dope there are some apis that make it easy to set keymap. All apis are defined in `core/keymap.lua`.
```lua
keymap.(n/i/c/v/x/t)map -- function to generate keymap by vim.keymap.set
keymap.new_opts -- generate opts into vim.keymap.set
-- function type that work with keymap.new_opts
keymap.silent keymap.noremap keymap.expr keymap.nowait keymap.remap
keymap.cmd -- just return string with and
keymap.cu -- work like cmd but for visual map
```Use these apis to config your keymap in `keymap` folder. In this folder `keymap/init.lua` is necessary but if you
have many vim mode remap you can config them in `keymap/other-file.lua` in dope is `config.lua` just an
example file. Then config plugins keymap in `keymap/init.lua`. the example of api usage
```lua
-- generate keymap in noremal mode
nmap {
-- packer
{'pu',cmd('Lazy update'),opts(noremap,silent,'Lazy update')},
{"",'h',opts(noremap)},
}also you can pass a table not include sub table to `map` like
```lua
nmap {'key','rhs',opts(noremap,silent)}
```use `:h vim.keymap.set` to know more about.
## Tips
- Improve key repeat
```
mac os need restart
defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 10linux
xset r rate 210 40
```## Donate
[![](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://paypal.me/bobbyhub)
If you'd like to support my work financially, buy me a drink through [paypal](https://paypal.me/bobbyhub)
## License MIT