Mercurial > dotfiles
annotate .elisp/settings/50.localfuncs.el @ 141:e30655eb7050
textmate.el: synced with upstream
Includes discovering that ido-imenu was a better textmate-goto-symbol
and support for excluding files from grepping that are otherwise
tracked in VCS. Useful for symlinks to large trees, and other such things.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Tue, 15 Sep 2009 20:28:22 -0400 |
parents | 34b698771af9 |
children | 36a4e4b0f9c3 |
rev | line source |
---|---|
89
f34d90569fdc
Add a file for local functions not yet extracted into a module. Includes a function to run pyflakes on the current buffer.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
1 (defun pyflakes-this-buffer () |
f34d90569fdc
Add a file for local functions not yet extracted into a module. Includes a function to run pyflakes on the current buffer.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
2 (interactive) |
91
075b45c5aecc
cd to the file dir before running pyflakes to make output less verbose.
Augie Fackler <durin42@gmail.com>
parents:
89
diff
changeset
|
3 (compilation-start (concat "cd " |
075b45c5aecc
cd to the file dir before running pyflakes to make output less verbose.
Augie Fackler <durin42@gmail.com>
parents:
89
diff
changeset
|
4 (file-name-directory buffer-file-name) |
96
0eabfd7a8ffa
Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents:
91
diff
changeset
|
5 "; pyflakes " (file-name-nondirectory |
0eabfd7a8ffa
Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents:
91
diff
changeset
|
6 buffer-file-name)) |
91
075b45c5aecc
cd to the file dir before running pyflakes to make output less verbose.
Augie Fackler <durin42@gmail.com>
parents:
89
diff
changeset
|
7 nil |
075b45c5aecc
cd to the file dir before running pyflakes to make output less verbose.
Augie Fackler <durin42@gmail.com>
parents:
89
diff
changeset
|
8 (lambda (mode) "*pyflakes*"))) |
96
0eabfd7a8ffa
Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents:
91
diff
changeset
|
9 |
0eabfd7a8ffa
Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents:
91
diff
changeset
|
10 (defun fullscreen () |
0eabfd7a8ffa
Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents:
91
diff
changeset
|
11 (interactive) |
0eabfd7a8ffa
Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents:
91
diff
changeset
|
12 (set-frame-parameter nil 'fullscreen |
0eabfd7a8ffa
Add a fullscreen function, cleanup.
Augie Fackler <durin42@gmail.com>
parents:
91
diff
changeset
|
13 (if (frame-parameter nil 'fullscreen) nil 'fullboth))) |
117
67bfc48b2a61
Function for removing a file from Mercurial.
Augie Fackler <durin42@gmail.com>
parents:
98
diff
changeset
|
14 |
67bfc48b2a61
Function for removing a file from Mercurial.
Augie Fackler <durin42@gmail.com>
parents:
98
diff
changeset
|
15 |
67bfc48b2a61
Function for removing a file from Mercurial.
Augie Fackler <durin42@gmail.com>
parents:
98
diff
changeset
|
16 (defun hg-rm-this-file () |
67bfc48b2a61
Function for removing a file from Mercurial.
Augie Fackler <durin42@gmail.com>
parents:
98
diff
changeset
|
17 (interactive) |
124
2ae20e96f6c0
Should really shell quote this arg.
Augie Fackler <durin42@gmail.com>
parents:
117
diff
changeset
|
18 (shell-command-to-string (concat "hg rm " (shell-quote-argument buffer-file-name)))) |
125
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
19 |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
20 ;; Lifted from http://code.google.com/p/ergoemacs/ |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
21 (defun select-text-in-quote () |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
22 "Select text between the nearest left and right delimiters. |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
23 Delimiters are paired characters: ()[]<>«»“”‘’「」, including \"\"." |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
24 (interactive) |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
25 (let (b1 b2) |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
26 (skip-chars-backward "^<>(“{[「«\"‘") |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
27 (setq b1 (point)) |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
28 (skip-chars-forward "^<>)”}]」»\"’") |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
29 (setq b2 (point)) |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
30 (set-mark b1) |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
31 ) |
15bcc3e0afeb
Function for selecting text inside of a quote pair.
Augie Fackler <durin42@gmail.com>
parents:
124
diff
changeset
|
32 ) |
126 | 33 |
34 ;; Most of this was extracted from show-paren-function in paren.el from an emacs 23 nightly | |
35 ;; Also, it seems like this really ought to be builtin, but I can't find it. | |
36 (defun bounce-to-other-paren () | |
37 (interactive) | |
38 (let ((oldpos (point)) | |
39 (dir (cond ((eq (syntax-class (syntax-after (1- (point)))) 5) -1) | |
40 ((eq (syntax-class (syntax-after (point))) 4) 1))) | |
41 pos mismatch face) | |
42 ;; | |
43 ;; Find the other end of the sexp. | |
44 (when dir | |
45 (save-excursion | |
46 (save-restriction | |
47 ;; Determine the range within which to look for a match. | |
48 (when blink-matching-paren-distance | |
49 (narrow-to-region | |
50 (max (point-min) (- (point) blink-matching-paren-distance)) | |
51 (min (point-max) (+ (point) blink-matching-paren-distance)))) | |
52 ;; Scan across one sexp within that range. | |
53 ;; Errors or nil mean there is a mismatch. | |
54 (condition-case () | |
55 (setq pos (scan-sexps (point) dir)) | |
56 (error (setq pos t mismatch t))) | |
57 ;; Move back the other way and verify we get back to the | |
58 ;; starting point. If not, these two parens don't really match. | |
59 ;; Maybe the one at point is escaped and doesn't really count. | |
60 (when (integerp pos) | |
61 (unless (condition-case () | |
62 (eq (point) (scan-sexps pos (- dir))) | |
63 (error nil)) | |
64 (setq pos nil))) | |
65 ))) | |
66 ;; Highlight the other end of the sexp, or unhighlight if none. | |
67 (if (and pos (integerp pos)) | |
68 (goto-char pos) | |
69 (message "No matching other paren found.") | |
70 ))) |