updated and add vi-mongo plugin
This commit is contained in:
parent
a717a047cb
commit
0dbbd56652
5 changed files with 295 additions and 167 deletions
187
README.md
187
README.md
|
|
@ -1,163 +1,60 @@
|
|||
# kickstart.nvim
|
||||
<div align="center">
|
||||
<img src="./assets/logo/no-background.svg" width="600">
|
||||
</div>
|
||||
|
||||
https://github.com/kdheepak/kickstart.nvim/assets/1813121/f3ff9a2b-c31f-44df-a4fa-8a0d7b17cf7b
|
||||
---
|
||||
|
||||
### Introduction
|
||||
## Overview
|
||||
|
||||
A starting point for Neovim that is:
|
||||
**Vi Mongo** is an intuitive Terminal User Interface (TUI) application, written
|
||||
in Go, designed to streamline and simplify the management of MongoDB databases.
|
||||
Emphasizing ease of use without sacrificing functionality, Vi Mongo offers a
|
||||
user-friendly command-line experience for database administrators and developers
|
||||
alike.
|
||||
|
||||
* Small
|
||||
* Single-file (with examples of moving to multi-file)
|
||||
* Documented
|
||||
* Modular
|
||||
Visit [vi-mongo.com](https://vi-mongo.com) for more information.
|
||||
|
||||
This repo is meant to be used by **YOU** to begin your Neovim journey; remove the things you don't use and add what you miss.
|
||||

|
||||
|
||||
Kickstart.nvim targets *only* the latest ['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest ['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim. If you are experiencing issues, please make sure you have the latest versions.
|
||||
## Installation
|
||||
|
||||
Distribution Alternatives:
|
||||
- [LazyVim](https://www.lazyvim.org/): A delightful distribution maintained by @folke (the author of lazy.nvim, the package manager used here)
|
||||
To install Vi Mongo, follow the instructions on the [installation page](https://vi-mongo.com/docs/installation).
|
||||
|
||||
### Installation
|
||||
If you are using [Neovim](https://neovim.io/) you can install the plugin from [nvim-plugin](https://github.com/kopecmaciej/vi-mongo.nvim)
|
||||
|
||||
> **NOTE**
|
||||
> [Backup](#FAQ) your previous configuration (if any exists)
|
||||
## Features
|
||||
|
||||
Requirements:
|
||||
* Make sure to review the readmes of the plugins if you are experiencing errors. In particular:
|
||||
* [ripgrep](https://github.com/BurntSushi/ripgrep#installation) is required for multiple [telescope](https://github.com/nvim-telescope/telescope.nvim#suggested-dependencies) pickers.
|
||||
* See [Windows Installation](#Windows-Installation) if you have trouble with `telescope-fzf-native`
|
||||
- **Intuitive Navigation**: Vi Mongo's simple, intuitive interface makes it easy
|
||||
to navigate and manage your MongoDB databases.
|
||||
- **Fast switching between databases**: Vi Mongo allows you to fast switch
|
||||
between databases.
|
||||
- **Managing Documents**: Vi Mongo allows you to view, create, update, duplicate
|
||||
and delete documents in your databases with ease.
|
||||
- **Managing Collections**: Vi Mongo provides a simple way to manage your
|
||||
collections, including the ability to create, delete collections.
|
||||
- **Autocomplete**: Vi Mongo offers an autocomplete feature that suggests
|
||||
collection names, database names, and MongoDB commands as you type.
|
||||
- **Query History**: Vi Mongo keeps track of your query history, allowing you to
|
||||
easily access and reuse previous queries.
|
||||
- **Multiple Styles**: Vi Mongo supports multiple color schemes, they can be
|
||||
selected in config file or add/modify easily.
|
||||
|
||||
Neovim's configurations are located under the following paths, depending on your OS:
|
||||
## List of features to be implemented
|
||||
|
||||
| OS | PATH |
|
||||
| :- | :--- |
|
||||
| Linux | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
|
||||
| MacOS | `$XDG_CONFIG_HOME/nvim`, '~/.config/nvim` |
|
||||
| Windows | `%userprofile%\AppData\Local\nvim\` |
|
||||
[vi-mongo.com/docs/roadmap](https://vi-mongo.com/docs/roadmap)
|
||||
|
||||
Clone kickstart.nvim:
|
||||
## Contributing
|
||||
|
||||
```sh
|
||||
# on Linux and Mac
|
||||
git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
|
||||
```
|
||||
All contributions are welcome!
|
||||
|
||||
1. Create an issue
|
||||
2. Fork the repository
|
||||
3. Go with the flow
|
||||
|
||||
```
|
||||
# on Windows
|
||||
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
|
||||
```
|
||||
If possible please write tests for your changes.
|
||||
|
||||
### Post Installation
|
||||
|
||||
Run the following command and then **you are ready to go**!
|
||||
|
||||
```sh
|
||||
nvim --headless "+Lazy! sync" +qa
|
||||
```
|
||||
|
||||
### Recommended Steps
|
||||
|
||||
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo (so that you have your own copy that you can modify) and then installing you can install to your machine using the methods above.
|
||||
|
||||
> **NOTE**
|
||||
> Your fork's url will be something like this: `https://github.com/<your_github_username>/kickstart.nvim.git`
|
||||
|
||||
### Configuration And Extension
|
||||
|
||||
* Inside of your copy, feel free to modify any file you like! It's your copy!
|
||||
* Feel free to change any of the default options in `init.lua` to better suit your needs.
|
||||
* For adding plugins, there are 3 primary options:
|
||||
* Add new configuration in `lua/custom/plugins/*` files, which will be auto sourced using `lazy.nvim` (uncomment the line importing the `custom/plugins` directory in the `init.lua` file to enable this)
|
||||
* Modify `init.lua` with additional plugins.
|
||||
* Include the `lua/kickstart/plugins/*` files in your configuration.
|
||||
|
||||
You can also merge updates/changes from the repo back into your fork, to keep up-to-date with any changes for the default configuration.
|
||||
|
||||
#### Example: Adding an autopairs plugin
|
||||
|
||||
In the file: `lua/custom/plugins/autopairs.lua`, add:
|
||||
|
||||
```lua
|
||||
-- File: lua/custom/plugins/autopairs.lua
|
||||
|
||||
return {
|
||||
"windwp/nvim-autopairs",
|
||||
-- Optional dependency
|
||||
dependencies = { 'hrsh7th/nvim-cmp' },
|
||||
config = function()
|
||||
require("nvim-autopairs").setup {}
|
||||
-- If you want to automatically add `(` after selecting a function or method
|
||||
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||
local cmp = require('cmp')
|
||||
cmp.event:on(
|
||||
'confirm_done',
|
||||
cmp_autopairs.on_confirm_done()
|
||||
)
|
||||
end,
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
This will automatically install [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) and enable it on startup. For more information, see documentation for [lazy.nvim](https://github.com/folke/lazy.nvim).
|
||||
|
||||
#### Example: Adding a file tree plugin
|
||||
|
||||
In the file: `lua/custom/plugins/filetree.lua`, add:
|
||||
|
||||
```lua
|
||||
-- Unless you are still migrating, remove the deprecated commands from v1.x
|
||||
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
|
||||
|
||||
return {
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
version = "*",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
config = function ()
|
||||
require('neo-tree').setup {}
|
||||
end,
|
||||
}
|
||||
```
|
||||
|
||||
This will install the tree plugin and add the command `:Neotree` for you. You can explore the documentation at [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) for more information.
|
||||
|
||||
### Contribution
|
||||
|
||||
Pull-requests are welcome. The goal of this repo is not to create a Neovim configuration framework, but to offer a starting template that shows, by example, available features in Neovim. Some things that will not be included:
|
||||
|
||||
* Custom language server configuration (null-ls templates)
|
||||
* Theming beyond a default colorscheme necessary for LSP highlight groups
|
||||
|
||||
Each PR, especially those which increase the line count, should have a description as to why the PR is necessary.
|
||||
|
||||
### FAQ
|
||||
|
||||
* What should I do if I already have a pre-existing neovim configuration?
|
||||
* You should back it up, then delete all files associated with it.
|
||||
* This includes your existing init.lua and the neovim files in `~/.local` which can be deleted with `rm -rf ~/.local/share/nvim/`
|
||||
* You may also want to look at the [migration guide for lazy.nvim](https://github.com/folke/lazy.nvim#-migration-guide)
|
||||
* What if I want to "uninstall" this configuration:
|
||||
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
|
||||
* Are there any cool videos about this plugin?
|
||||
* Current iteration of kickstart (coming soon)
|
||||
* Here is one about the previous iteration of kickstart: [video introduction to Kickstart.nvim](https://youtu.be/stqUbv-5u2s). Note the install via init.lua no longer works as specified. Please follow the install instructions in this file instead as they're up to date.
|
||||
|
||||
### Windows Installation
|
||||
|
||||
Installation may require installing build tools, and updating the run command for `telescope-fzf-native`
|
||||
|
||||
See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
|
||||
|
||||
This requires:
|
||||
|
||||
- Install CMake, and the Microsoft C++ Build Tools on Windows
|
||||
|
||||
```lua
|
||||
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
|
||||
```
|
||||
## Issues
|
||||
|
||||
For now all issues are resolved, but if you find any new issues, please report
|
||||
them in the [GitHub Issues](https://github.com/kopecmaciej/vi-mongo/issues)
|
||||
page.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue