diff --git a/core/siren-core-modules.el b/core/siren-core-modules.el index aa1a30d..74f11f5 100644 --- a/core/siren-core-modules.el +++ b/core/siren-core-modules.el @@ -62,6 +62,7 @@ (require 'siren-helm-ag) (require 'siren-helm-open-github) (require 'siren-helm-swoop) +(require 'siren-recursive-narrow) (require 'siren-scroll-half-screen) ;; Project management diff --git a/modules/navigation/siren-recursive-narrow.el b/modules/navigation/siren-recursive-narrow.el new file mode 100644 index 0000000..1a41279 --- /dev/null +++ b/modules/navigation/siren-recursive-narrow.el @@ -0,0 +1,24 @@ +;;; siren-recursive-narrow.el --- jimeh's Emacs Siren: recursive-narrow configuration. + +;;; Commentary: + +;; Basic configuration for recursive-narrow. + +;;; Code: + +(use-package recursive-narrow + :bind + ("C-x C-n" . recursive-narrow-or-widen-dwim) + ("C-x n w" . recursive-widen) + ("C-x n n" . recursive-narrow-or-widen-dwim) + + :config + (add-hook 'recursive-narrow-dwim-functions + 'siren-recursive-narrow-org-edit-src-code) + + :init + (defun siren-recursive-narrow-org-edit-src-code() + (ignore-errors (org-edit-src-code) t))) + +(provide 'siren-recursive-narrow) +;;; siren-recursive-narrow.el ends here diff --git a/modules/org-mode/siren-org-mode.el b/modules/org-mode/siren-org-mode.el index ab91ede..7820e07 100644 --- a/modules/org-mode/siren-org-mode.el +++ b/modules/org-mode/siren-org-mode.el @@ -13,16 +13,21 @@ (require 'siren-smartparens) (use-package org - :bind (:map org-mode-map - ("C-j" . org-return-indent) - ("RET" . org-return-indent) - ("M-{" . org-promote-subtree) - ("M-}" . org-demote-subtree) - ("M-P" . org-metaup) - ("M-N" . org-metadown) - ("C-M-n" . outline-next-visible-heading) - ("C-M-p" . outline-previous-visible-heading)) - :hook (org-mode . siren-org-mode-setup) + :bind + (:map org-mode-map + ("C-j" . org-return-indent) + ("RET" . org-return-indent) + ("M-{" . org-promote-subtree) + ("M-}" . org-demote-subtree) + ("M-P" . org-metaup) + ("M-N" . org-metadown) + ("C-M-n" . outline-next-visible-heading) + ("C-M-p" . outline-previous-visible-heading)) + (:map org-src-mode-map + ("C-c C-c" . org-edit-src-exit)) + + :hook + (org-mode . siren-org-mode-setup) :custom (org-blank-before-new-entry '((heading . auto) (plain-list-item . nil)))