Abstract IDE

website·Indexed 31 days ago

https://abstract-ide.github.io/site/

A Neovim configuration designed to provide the power of a modern IDE. It features a fast startup time of approximately 80ms and includes pre-configured support for Language Server Protocol (LSP) and formatters via Mason. The configuration is written in Lua and supports various languages and frameworks including Python, JavaScript, TypeScript, React, Django, C/C++, and Flutter.

Tokens
2.8K
Snippets
20
Records
35
Agent score
74%

What's inside Abstract

  1. Overview of Abstract NeoVim Configuration

    Abstract is a NeoVim configuration designed to provide the power of a modern IDE. It includes built-in support for the Language Server Protocol (LSP), Debug Adapter Protocol (DAP), formatters, linters, and Treesitter.
  2. Abstract IDE Performance and Feature Overview

    Abstract is a highly optimized IDE designed for speed and ease of use. It features a startup time of approximately 80ms and comes pre-configured to work out of the box with zero initial setup required. It supports modern IDE standards including Language Server Protocol (LSP), Formatting, Tree-sitter, and Debug Adapter Protocol (DAP).
  3. Locate Neovim configuration directory for Lua setup

    Neovim looks for configuration files in the User configuration directory. For a Lua-based configuration, all config files should be placed in ~/config/nvim/.
  4. Install CSS and SCSS language support

    To enable CSS and SCSS support, you need to install a Language Server (LSP), a formatter, and Treesitter parsers. Use Mason to install the LSP and formatter, and use the Treesitter install command for the parsers.
    # Install LSP and Formatter via Mason
    MasonInstall css-lsp prettier
    
    # Install Treesitter parsers
    TSInstall css scss
  5. Install LSP servers and formatters via Mason in Neovim

    To set up language support for React and web development, use the Mason package manager in Neovim. Enter command mode by pressing : in normal mode and execute the installation command for the required Language Servers (LSP).
    :MasonInstall typescript-language-server html-lsp css-lsp json-lsp
  6. C/C++ Tooling Requirements

    The following packages are required for C/C++ support:

    • clangd: Provides LSP (Language Server Protocol) capabilities.
    • clang-format: Provides code formatting.
    • c and cpp: Treesitter parsers for language-aware syntax highlighting.
  7. Install Treesitter parsers for React and web languages

    Install the necessary Treesitter parsers to enable syntax highlighting and code analysis for JavaScript, TypeScript, TSX, HTML, CSS, SCSS, and JSON in Neovim.
    :TSInstall javascript typescript tsx html css scss json