Permalink
Browse files

Added expansions for org-mode

  • Loading branch information...
1 parent 69d73ce commit 7d75a145a0b3088f728afd0511461cf05b5cc65f @magnars committed Mar 27, 2012
Showing with 61 additions and 0 deletions.
  1. +1 −0 expand-region.el
  2. +60 −0 org-mode-expansions.el
View
@@ -150,6 +150,7 @@
(eval-after-load "python" '(require 'python-mode-expansions))
(eval-after-load "python-mode" '(require 'python-mode-expansions))
(eval-after-load "ruby-mode" '(require 'ruby-mode-expansions))
+(eval-after-load "org-mode" '(require 'org-mode-expansions))
;; unfortunately html-mode inherits from text-mode
;; and text-mode-expansions don't work well in html-mode
View
@@ -0,0 +1,60 @@
+;;; org-mode-expansions.el --- Expansions for expand-region to be used in org-mode
+
+;; Copyright (C) 2012 Magnar Sveen
+
+;; Author: Magnar Sveen
+;; Based on text-mode-expansions by: Ivan Andrus
+;; Keywords: marking region
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Feel free to contribute any other expansions for org-mode at
+;;
+;; https://github.com/magnars/expand-region.el
+
+;;; Code:
+
+(require 'expand-region-core)
+
+(defun er/mark-sentence ()
+ "Marks one sentence."
+ (interactive)
+ (forward-char 1)
+ (backward-sentence 1)
+ (set-mark (point))
+ (forward-sentence 1)
+ (exchange-point-and-mark))
+
+(defun er/mark-paragraph ()
+ "Marks one paragraph."
+ (interactive)
+ (mark-paragraph)
+ (exchange-point-and-mark)
+ (skip-chars-backward er--space-str)
+ (exchange-point-and-mark)
+ (skip-chars-forward er--space-str))
+
+(defun er/add-org-mode-expansions ()
+ "Adds org-specific expansions for buffers in org-mode"
+ (set (make-local-variable 'er/try-expand-list) (append
+ er/try-expand-list
+ '(org-mark-subtree
+ er/mark-sentence
+ er/mark-paragraph))))
+
+(add-hook 'org-mode-hook 'er/add-org-mode-expansions)
+
+(provide 'org-mode-expansions)

0 comments on commit 7d75a14

Please sign in to comment.