Mercurial > dotfiles
comparison .elisp/textmate.el @ 24:d6fd2964258c
New version of textmate.el
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Tue, 16 Dec 2008 11:30:55 -0600 |
parents | 8715ccb6f61b |
children | c7ff220bba9f |
comparison
equal
deleted
inserted
replaced
23:e1caf3e773a8 | 24:d6fd2964258c |
---|---|
92 (comment-or-uncomment-region-or-line | 92 (comment-or-uncomment-region-or-line |
93 ,(kbd "A-/") [(control c)(control k)]) | 93 ,(kbd "A-/") [(control c)(control k)]) |
94 (textmate-goto-file | 94 (textmate-goto-file |
95 ,(kbd "A-t") [(meta t)]) | 95 ,(kbd "A-t") [(meta t)]) |
96 (textmate-goto-symbol | 96 (textmate-goto-symbol |
97 ,(kbd "A-T") [(meta T)]))) | 97 ,(kbd "A-T") [(meta T)]) |
98 (textmate-toggle-camel-case | |
99 ,(kbd "C-_") [(control _)))) | |
98 | 100 |
99 (defvar *textmate-project-root-p* | 101 (defvar *textmate-project-root-p* |
100 #'(lambda (coll) (or (member ".git" coll) | 102 #'(lambda (coll) (or (member ".git" coll) |
101 (member ".hg" coll) | 103 (member ".hg" coll) |
102 )) | 104 )) |
183 (defun textmate-clear-cache () | 185 (defun textmate-clear-cache () |
184 (interactive) | 186 (interactive) |
185 (setq *textmate-project-root* nil) | 187 (setq *textmate-project-root* nil) |
186 (setq *textmate-project-files* nil) | 188 (setq *textmate-project-files* nil) |
187 (message "textmate-mode cache cleared.")) | 189 (message "textmate-mode cache cleared.")) |
190 | |
191 (defun textmate-toggle-camel-case () | |
192 "Toggle current sexp between camelCase and snake_case, like TextMate C-_." | |
193 (interactive) | |
194 (if (thing-at-point 'word) | |
195 (progn | |
196 (unless (looking-at "\\<") (backward-sexp)) | |
197 (let ((case-fold-search nil) | |
198 (start (point)) | |
199 (end (save-excursion (forward-sexp) (point)))) | |
200 (if (and (looking-at "[a-z0-9_]+") (= end (match-end 0))) ; snake-case | |
201 (progn | |
202 (goto-char start) | |
203 (while (re-search-forward "_[a-z]" end t) | |
204 (goto-char (1- (point))) | |
205 (delete-char -1) | |
206 (upcase-region (point) (1+ (point))) | |
207 (setq end (1- end)))) | |
208 (downcase-region (point) (1+ (point))) | |
209 (while (re-search-forward "[A-Z][a-z]" end t) | |
210 (forward-char -2) | |
211 (insert "_") | |
212 (downcase-region (point) (1+ (point))) | |
213 (forward-char 1) | |
214 (setq end (1+ end))) | |
215 (downcase-region start end) | |
216 ))))) | |
188 | 217 |
189 ;;; Utilities | 218 ;;; Utilities |
190 | 219 |
191 (defun textmate-also-ignore (pattern) | 220 (defun textmate-also-ignore (pattern) |
192 "Also ignore PATTERN in project files." | 221 "Also ignore PATTERN in project files." |