;;; packages.el --- csharp Layer packages File for Spacemacs ;; ;; Copyright (c) 2012-2014 Sylvain Benner ;; Copyright (c) 2014-2015 Sylvain Benner & Contributors ;; ;; Author: Sylvain Benner ;; URL: https://github.com/syl20bnr/spacemacs ;; ;; This file is not part of GNU Emacs. ;; ;;; License: GPLv3 (setq csharp-packages '( company omnisharp )) (defun csharp/init-omnisharp () ;; Load omnisharp-mode with csharp-mode, this should start the omnisharp server automatically (add-hook 'csharp-mode-hook 'omnisharp-mode) (use-package omnisharp :defer t :init (progn (when (configuration-layer/package-usedp 'company) ;; needed to avoid an error when fetching doc using company ;; Note: if you are using a roslyn based omnisharp server you can ;; set back this variable to t. (setq omnisharp-auto-complete-want-documentation nil)) (push 'company-omnisharp company-backends-csharp-mode)) :config (progn (spacemacs/declare-prefix-for-mode 'csharp-mode "mc" "csharp/compile") (spacemacs/declare-prefix-for-mode 'csharp-mode "mf" "csharp/file") (spacemacs/declare-prefix-for-mode 'csharp-mode "mg" "csharp/navigation") (spacemacs/declare-prefix-for-mode 'csharp-mode "mh" "csharp/documentation") (spacemacs/declare-prefix-for-mode 'csharp-mode "mr" "csharp/refactoring") (spacemacs/declare-prefix-for-mode 'csharp-mode "ms" "csharp/server") (spacemacs/declare-prefix-for-mode 'csharp-mode "mt" "csharp/tests") (evil-leader/set-key-for-mode 'csharp-mode ;; Compile "mcc" 'omnisharp-build-in-emacs ;; Only one compile command so use top-level ;; Solution/project manipulation "mfa" 'omnisharp-add-to-solution-current-file "mfA" 'omnisharp-add-to-solution-dired-selected-files "mfr" 'omnisharp-remove-from-project-current-file "mfR" 'omnisharp-remove-from-project-dired-selected-files "mpl" 'omnisharp-add-reference ;; Navigation "mgg" 'omnisharp-go-to-definition "mgG" 'omnisharp-go-to-definition-other-window "mgu" 'omnisharp-helm-find-usages "mgs" 'omnisharp-helm-find-symbols "mgi" 'omnisharp-find-implementations "mgr" 'omnisharp-navigate-to-region "mgm" 'omnisharp-navigate-to-solution-member "mgM" 'omnisharp-navigate-to-solution-member-other-window "mgf" 'omnisharp-navigate-to-solution-file "mgF" 'omnisharp-navigate-to-solution-file-then-file-member ;; Help, documentation, info "mht" 'omnisharp-current-type-information "mhT" 'omnisharp-current-type-information-to-kill-ring ;; Refactoring "mrm" 'omnisharp-rename "mrr" 'omnisharp-run-code-action-refactoring ;; Server manipulation, inspired spacemacs REPL bindings since C# does not provice a REPL "mss" 'omnisharp-start-omnisharp-server "msS" 'omnisharp-stop-server "msr" 'omnisharp-reload-solution ;; Tests "mta" 'omnisharp-unit-test-all "mtb" 'omnisharp-unit-test-fixture "mtt" 'omnisharp-unit-test-single ;; Code manipulation "mu" 'omnisharp-auto-complete-overrides "mi" 'omnisharp-fix-usings "m=" 'omnisharp-code-format)))) (when (configuration-layer/layer-usedp 'auto-completion) (defun csharp/post-init-company () (spacemacs|add-company-hook csharp-mode)))