doomemacs/modules/module-csharp.el

50 lines
2.3 KiB
EmacsLisp
Raw Normal View History

2016-05-27 06:51:39 +08:00
;;; module-csharp.el --- -*- no-byte-compile: t; -*-
2015-06-15 15:06:10 +08:00
(use-package csharp-mode
:mode "\\.cs$"
2016-03-30 11:13:31 +08:00
:init (add-hook 'csharp-mode-hook 'flycheck-mode))
2015-06-15 15:06:10 +08:00
(use-package shader-mode :mode "\\.shader$") ; unity shaders
2015-10-08 13:48:47 +08:00
2015-06-15 15:06:10 +08:00
(use-package omnisharp
2016-03-30 11:13:31 +08:00
:commands (omnisharp-mode)
:preface
(setq omnisharp-auto-complete-want-documentation nil
2016-05-21 10:37:30 +08:00
omnisharp-server-executable-path (concat doom-ext-dir "/OmniSharp.exe"))
2016-03-27 12:46:52 +08:00
:when (file-exists-p omnisharp-server-executable-path)
2016-06-09 02:43:40 +08:00
:init (add-hook! csharp-mode '(eldoc-mode omnisharp-mode))
2015-10-08 13:48:47 +08:00
:config
(def-company-backend! csharp-mode (omnisharp))
(map! :map omnisharp-mode-map
"gd" 'omnisharp-go-to-definition
2016-03-04 04:04:14 +08:00
(:localleader
2015-12-12 11:43:31 +08:00
"tr" (λ! (omnisharp-unit-test "fixture"))
"ts" (λ! (omnisharp-unit-test "single"))
"ta" (λ! (omnisharp-unit-test "all"))))
2015-06-15 15:06:10 +08:00
2015-10-29 05:27:56 +08:00
;; Map all refactor commands (see emr)
2015-10-02 01:49:36 +08:00
(mapc (lambda (x)
(let ((command-name (car x))
(title (cadr x)))
2016-03-30 11:13:31 +08:00
(emr-declare-command
(intern (format "omnisharp-%s" (symbol-name command-name)))
2015-10-02 01:49:36 +08:00
:title title :modes 'omnisharp-mode)))
'((find-usages "find usages")
(find-implementations "find implementations")
(fix-code-issue-at-point "fix code issue at point")
(fix-usings "fix usings")
(rename "rename")
(current-type-information "current type information")
(current-type-documentation "current type documentation")
(navigate-to-current-file-member "navigate to current file member")
(navigate-to-solution-member "navigate to solution member")
(navigate-to-solution-file-then-file-member "navigate to solution file then member")
(navigate-to-solution-file "navigate to solution file")
(navigate-to-region "navigate to region")
(show-last-auto-complete-result "last auto complete result")
(show-overloads-at-point "show overloads at point")
(recompile "recompile"))))
2015-06-15 15:06:10 +08:00
(provide 'module-csharp)
;;; module-csharp.el ends here