emacs-config/init.org.d/60-ide.org

2.0 KiB

IDE Configuration

Intro

Packages/configurations that makes emacs more IDE-like, such as:

  • like popup completions with LSP
  • error checking on-the-fly
  • tree-view file explorer
  • git Integration
  • tree-sitter based syntax highlighting

Tree Sitter

Tree sitter highlighting in emacs. Tree-sitter Syntax Highlighting website

  (use-package tree-sitter
    :diminish
    :config
    (global-tree-sitter-mode))

  (use-package tree-sitter-langs
    :after tree-sitter)

Neotree

Tree-based explorer for Emacs

  (use-package neotree
    :hook (neotree-mode . (lambda ()
                            (setq mode-line-format nil)
                            (redraw-display)))
    :config
    (setq neo-theme 'arrows)
    (setq neo-window-fixed-size nil)
    (setq neo-smart-open t)

    :bind
    ("M-0" . neotree-toggle))

Magit

Git Interface for Emacs

  (use-package magit
    :bind
    ("C-x g" . magit-status)
    ("C-x M-g" . magit-dispatch))

Company Mode

This package provides Popup autocompletion

  (use-package company
            :diminish
            :bind
            (:map company-active-map
               ("<tab>" . company-select-next))
            :custom
            (company-minimum-prefix-length 1)
            (company-idle-delay 0.0))

Eglot

A simple package for LSP support

  (use-package eglot
        :config
        (diminish 'eldoc))

Paredit

A (very) recommended package for lisp code editing.

  (use-package paredit
            :hook
            (emacs-lisp-mode . enable-paredit-mode)
            (eval-expression-minibuffer-setup . enable-paredit-mode)
            (ielm-mode . enable-paredit-mode)
            (lisp-mode . enable-paredit-mode)
            (lisp-interaction-mode . enable-paredit-mode)
            (scheme-mode . enable-paredit-mode))