diff --git a/contrib/lang/extra-langs/packages.el b/contrib/lang/extra-langs/packages.el index 9588577af..1d375215e 100644 --- a/contrib/lang/extra-langs/packages.el +++ b/contrib/lang/extra-langs/packages.el @@ -1,15 +1,16 @@ (defvar extra-langs-packages '( - idris-mode arduino-mode - scad-mode - qml-mode + idris-mode julia-mode + nim-mode nix-mode + qml-mode racket-mode - yaml-mode rust-mode + scad-mode wolfram-mode + yaml-mode )) (defun extra-langs/init-arduino-mode () @@ -24,6 +25,9 @@ (defun extra-langs/init-nix-mode () (use-package nix-mode :defer t)) +(defun extra-langs/init-nim-mode () + (use-package nim-mode :defer t)) + (defun extra-langs/init-qml-mode () (use-package qml-mode :defer t)) @@ -34,7 +38,11 @@ (use-package yaml-mode :defer t)) (defun extra-langs/init-rust-mode () - (use-package rust-mode :defer t)) + (use-package rust-mode + :defer t + :config + (when (fboundp 'sp-local-pair) ; Don't pair lifetime specifiers + (sp-local-pair 'rust-mode "'" nil :actions nil)))) ;; no associated extension because conflicts with more common Objective-C, manually invoke for .m files. (defun extra-langs/init-wolfram-mode () @@ -56,6 +64,11 @@ "mt" 'racket-test "mg" 'racket-visit-definition "mhd" 'racket-doc) + ;; Bug exists in Racket company backend that opens docs in new window when + ;; company-quickhelp calls it. Note hook is appendended for proper ordering. + (when (configuration-layer/package-declaredp 'company-quickhelp) + (add-hook 'company-mode-hook + '(lambda () (when (equal major-mode 'racket-mode) (company-quickhelp-mode -1))) t)) (add-hook 'racket-mode-hook '(lambda () (define-key racket-mode-map (kbd "H-r") 'racket-run))))))