Skip to content
This repository has been archived by the owner on Mar 3, 2023. It is now read-only.

Dax89/IDE.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

!!! DEPRECATED !!!

IDE.nvim has been superseded by the more powerful and easier to use Automaton

IDE.nvim

IDE.NVim


Nice Project Management, Build, and Debug support for various type of programming languages.

Installation

use {
  "Dax89/IDE.nvim",  
  requires = { 
       {"nvim-lua/plenary.nvim"},
       {"rcarriga/nvim-notify"},   -- Notifications Popup (Optional)
       {"stevearc/dressing.nvim"}, -- Improved UI (Optional)
       {"mfussenegger/nvim-dap"} , -- DAP Support (Optional)
       {"rcarriga/nvim-dap-ui"},   -- DAP-UI Support (Optional)
    }
}

Plugin initialization (with default configuration values)

By default ide.nvim doesn't provides any mapping, check the sample configuration in order to configure them.

require("ide").setup({
    ignore_filetypes = { },
    root_patterns = {".git/"},
    auto_save = true,
    shadow_build = false,
    debug = false,
    project_file = "project.nvide",

    quickfix = {
        pos = "bel"
    },

    integrations = {
        dap = {
            enable = false,
            config = { },

            highlights = {
                DapBreakpoint = {ctermbg = 0, fg = "#993939"},
                DapLogPoint   = {ctermbg = 0, fg = "#61afef"},
                DapStopped    = {ctermbg = 0, fg = "#98c379"},
            },

            signs = {
                DapBreakpoint          = { text="", texthl="DapBreakpoint", numhl= "DapBreakpoint" },
                DapBreakpointCondition = { text="", texthl="DapBreakpoint", numhl= "DapBreakpoint" },
                DapBreakpointRejected  = { text="", texthl="DapBreakpoint", numhl= "DapBreakpoint" },
                DapLogPoint            = { text="", texthl="DapLogPoint",   numhl= "DapLogPoint" },
                DapStopped             = { text="", texthl="DapStopped",    numhl= "DapStopped" },
            }
        },

        dapui = {
            enable = false
        },

        git = {
            enable = false
        }
    }
})

UI Keybinds

  • z: Show actions (used in Tabs component, it's the bottom left button)
  • A: Accept (used in Dialog and Tabs components, it's the bottom right button)
  • Ctrl-H: Show components' keybinds
  • Z: Move to previous tab/wizard step
  • M: Move to next tab/wizard step
  • hjkl and arrow keys: row/column selection for Table
  • Enter and Left Click: Triggers the component's default event

Commands

  • IdeShowProjects: Show saved projects
  • IdeProjectCreate: Open a dialog which allows to create new projects
  • IdeProjectWrite: Save the project in ide.nvim format (uses project_file from config)
  • IdeProjectSettings: Open current project's settings
  • IdeProjectDebug: Debug the current project
  • IdeProjectRun: Run the current project
  • IdeProjectBuild: Build the current project
  • IdeProjectStop: Stop one or more running processes for the current project
  • IdeProjectConfigure: Configure the current project
  • IdeProjectSelectConfig: Show current project config selector
  • IdeProjectSelectRunConfig: Show current project run config selector
  • IdeProjectOpenSourcePath: Open Project's source path with system viewer (if exists)
  • IdeProjectOpenBuildPath: Open Project's build path with system viewer (if exists)

API

require("ide") provides these functions:

  • setup([config]): Initialize and configure plugin
  • get_active_project(): Returns the active project or nil
  • get_projects(): Returns a list of the loaded projects or {}

Check the Wiki for detailed documentation.

Related Projects