ldelossa / nvim-ide
- среда, 30 ноября 2022 г. в 00:34:07
A full featured IDE layer for Neovim. Heavily inspired by VSCode.
███╗ ██╗██╗ ██╗██╗███╗ ███╗ ██╗██████╗ ███████╗
████╗ ██║██║ ██║██║████╗ ████║ ██║██╔══██╗██╔════╝
██╔██╗ ██║██║ ██║██║██╔████╔██║█████╗██║██║ ██║█████╗
██║╚██╗██║╚██╗ ██╔╝██║██║╚██╔╝██║╚════╝██║██║ ██║██╔══╝
██║ ╚████║ ╚████╔╝ ██║██║ ╚═╝ ██║ ██║██████╔╝███████╗
╚═╝ ╚═══╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ ╚═╝╚═════╝ ╚══════╝
nvim-ide
is a complete IDE layer for Neovim, heavily inspired by vscode
.
It provides a default set of components, an extensible API for defining your own, IDE-like panels and terminal/utility windows, and the ability to swap between user defined panels.
This plugin is for individuals who are looking for a cohesive IDE experience from Neovim and are less concerned with mixing and matching from the awesome ecosystem of Neovim plugins.
The current set of default components include:
We put a lot of efforts into writing docs/nvim-ide.txt
, so please refer to this
file for introduction, usage, and development information.
Get the plugin via your favorite plugin manager.
Call the setup function (optionally with the default config):
-- default components
local explorer = require('ide.components.explorer')
local outline = require('ide.components.outline')
local callhierarchy = require('ide.components.callhierarchy')
local timeline = require('ide.components.timeline')
local terminal = require('ide.components.terminal')
local terminalbrowser = require('ide.components.terminal.terminalbrowser')
local changes = require('ide.components.changes')
local commits = require('ide.components.commits')
local branches = require('ide.components.branches')
local bookmarks = require('ide.components.bookmarks')
require('ide').setup({
-- the global icon set to use.
-- values: "nerd", "codicon", "default"
icon_set = "default",
-- place Component config overrides here.
-- they key to this table must be the Component's unique name and the value
-- is a table which overrides any default config values.
components = {},
-- default panel groups to display on left and right.
panels = {
left = "explorer",
right = "git"
},
-- panels defined by groups of components, user is free to redefine these
-- or add more.
panel_groups = {
explorer = { outline.Name, explorer.Name, bookmarks.Name, callhierarchy.Name, terminalbrowser.Name },
terminal = { terminal.Name },
git = { changes.Name, commits.Name, timeline.Name, branches.Name }
}
})
Issue the "Workspace" command to begin discovering what's available.
Begin reading ":h nvim-ide"