2015-09-28 14:22:26 -04:00
|
|
|
;;; module-sh.el --- description
|
|
|
|
|
2016-02-11 02:08:53 -05:00
|
|
|
(use-package company-shell
|
|
|
|
:defer t
|
|
|
|
:config
|
|
|
|
(setq company-shell-delete-duplicates t))
|
|
|
|
|
2016-04-08 16:15:00 -04:00
|
|
|
(associate! sh-mode :match "\\.\\(ba\\|z\\)sh$")
|
|
|
|
(associate! sh-mode :match "/\\.?z\\(sh\\(/.*\\|$\\)\\|profile\\|login\\|logout\\|shrc\\|shenv\\)$")
|
2015-12-23 03:43:30 -05:00
|
|
|
(associate! sh-mode :match "/\\.?bash\\(/.*\\|rc\\|_profile\\)$")
|
2015-09-28 16:56:52 -04:00
|
|
|
(after! sh-script
|
2016-03-29 23:13:31 -04:00
|
|
|
(add-hook 'sh-mode-hook 'flycheck-mode)
|
|
|
|
(add-hook 'sh-mode-hook 'narf|sh-extra-font-lock-activate) ; Fontify variables in strings
|
2016-03-23 11:59:06 -04:00
|
|
|
(add-hook! sh-mode
|
|
|
|
(electric-indent-local-mode +1)
|
|
|
|
(setq narf-electric-indent-words '("else" "elif" "fi" "done")))
|
2015-12-14 05:19:25 -05:00
|
|
|
|
2016-03-29 23:13:31 -04:00
|
|
|
(define-repl! sh-mode narf/inf-shell)
|
|
|
|
|
|
|
|
(setq sh-indent-after-continuation 'always)
|
|
|
|
|
|
|
|
;; [pedantry intensifies]
|
|
|
|
(defadvice sh-mode (after sh-mode-rename-modeline activate)
|
|
|
|
(setq mode-name "sh"))
|
2016-02-11 02:08:53 -05:00
|
|
|
|
2016-03-29 23:13:31 -04:00
|
|
|
(require 'company-shell)
|
2016-03-28 21:39:13 -04:00
|
|
|
|
|
|
|
(sp-with-modes '(sh-mode)
|
|
|
|
(sp-local-pair "case" "" :when '(("SPC")) :post-handlers '((:add narf/sp-insert-yasnippet)) :actions '(insert))
|
|
|
|
(sp-local-pair "if" "" :when '(("SPC")) :post-handlers '((:add narf/sp-insert-yasnippet)) :actions '(insert))
|
|
|
|
(sp-local-pair "for" "" :when '(("SPC")) :post-handlers '((:add narf/sp-insert-yasnippet)) :actions '(insert))
|
|
|
|
(sp-local-pair "elif" "" :when '(("SPC")) :post-handlers '((:add narf/sp-insert-yasnippet)) :actions '(insert))
|
|
|
|
(sp-local-pair "while" "" :when '(("SPC")) :post-handlers '((:add narf/sp-insert-yasnippet)) :actions '(insert))))
|
2015-09-28 14:22:26 -04:00
|
|
|
|
|
|
|
(provide 'module-sh)
|
|
|
|
;;; module-sh.el ends here
|