doomemacs/modules/lang/csharp
Henrik Lissner 6acf163cf7
refactor!: replace smartparens with electric
BREAKING CHANGE: This moves smartparens out of core and formally
deprecates it. The package has been a performance liability and is only
being used for pair management, so the rest of its functionality was
overkill for what we needed it for.

Instead, I'm waiting for electric.el's support for N-character pairs in
Emacs 31. In the meantime, I delegate to yasnippet (later, tempel)
snippets to handle more complex pairs like /* ... */ or <?php ... ?>.

- To restore auto-pairing functionality (which is all Doom was using
  smartparens for, really), enable :emacs (electric +pair). This is not
  a perfect replacement for all of smartparens' capabilities. More
  complex pairing is being relegated to snippets (for example, /* ... */
  and <?php ... ?> comment blocks will soon have snippets for them).

- To restore the old smartparens functionality, enable :config (default
  +smartparens). Keep in mind that this is temporary! In v3, smartparens
  will be removed entirely OR moved to its own module; this hasn't been
  decided yet.

Fix: #5759
Fix: #5894
Fix: #6223
Fix: #8093
Fix: #8620
2026-02-21 17:00:48 -05:00
..
.doommodule feat: add .doommodule files 2024-09-14 20:47:39 -04:00
autoload.el General, minor refactor & reformatting 2020-03-27 01:25:30 -04:00
config.el refactor!: replace smartparens with electric 2026-02-21 17:00:48 -05:00
doctor.el fix(csharp): s/dotnet-csharpier/csharpier 2025-05-11 00:51:27 -04:00
packages.el bump: * 2025-05-02 14:58:40 -04:00
README.org docs(csharp,julia,lua,markdown): mention +tree-sitter requirements 2025-05-15 18:19:32 +02:00

:lang csharp

Description   unfold

This module adds C# support to Emacs, powered by Omnisharp (directly or through LSP).

Maintainers

This module has no dedicated maintainers. Become a maintainer?

Module flags

+dotnet
Enable Dotnet transient interface with Sharper
+lsp
Enable LSP support for csharp-mode. Requires doom-module::tools lsp and a langserver (supports omnisharp-roslyn).
+tree-sitter
Leverages tree-sitter for better syntax highlighting and structural text editing. Requires Emacs 29.1+ and doom-module::tools tree-sitter.
+unity
Enable special support for the Unity game engine (particularly, support for HLSL shaders).

Hacks

No hacks documented for this module.

TODO Changelog

This module does not have a changelog yet.

TODO Installation

Enable this module in your doom! block.

This module requires:

mono

TODO MacOS

Arch Linux

pacman --needed --noconfirm -S mono

TODO NixOS

csharpier

dotnet tool install csharpier -g

TODO Usage

󱌣 This module has no usage documentation yet. Write some?

TODO Configuration

󱌣 This module has no configuration documentation yet. Write some?

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?