Skip to content

Stripped down emacs configuration for dlang development with serve-d and eglot

License

Notifications You must be signed in to change notification settings

gizmomogwai/demacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

demacs “standalone version”

Stripped down version to demonstrate emacs with serve-d as dlang language server.

Installation

  • Install a dlang compiler with the install script on dlang.org.
  • Run serve-d once manually to get around all interactive questions and the compile time delay by running dub run serve-d.

The emacs specific installation is tested with emacs 27.2.

Clone the repository to ~/.demacs. One or all of the following:

  • make an alias that calls emacs -q --load ~/.demacs/init.el.
  • put .demacs in your path and call demacs.
  • link ~/.demacs/demacs to demacs in a directory in your path.

This should give you an emacs configuration including d-mode and eglot as language server with company mode for completion.

Usage

Start emacs now with the path to the dlang activation script that you want to use, e.g. demacs ~/dlang/dmd-2.096.1/activate my-d-project/source/app.d.

This is to 99.99999% the default emacs configuration. So the almost all emacs users will be fine. For all the other users the most importation shortcut would be C-x-c which means hold Ctrl-Key and press first x and then c.

Features

Nicest features are:

  • annotations while editing for lexer problems, e.g. missing semicolons, …
  • more semantic problems are found on safe.
  • eglot-format for dfmt.
  • project-find-file to find a file in the project.
  • eldoc with ddocs.
  • company mode for completion.

Uninstallation

If you don’t like it, simple delete ~/.demacs and you are done.

Implementation / Tuning

  • straight is used to make sure magit with all dependencies is available.
  • I added my favorite color-theme to the mix.
  • All customizations are done directly in init.el to keep the startup time as small as possible. Feel free to adjust the settings to your liking.

Why

I tried to reproduce a problem I had with my eglot setup which in the end boils down to something similar to what is mentioned in the straight FAQ.

About

Stripped down emacs configuration for dlang development with serve-d and eglot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages