1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-28 10:56:36 +00:00

Small addition to glasses.el (bug#8524)

* lisp/progmodes/glasses.el (glasses-separate-capital-groups): New option.
(glasses-make-readable): Use glasses-separate-capital-groups.
This commit is contained in:
Milan Zamazal 2011-05-04 20:26:55 -07:00 committed by Glenn Morris
parent d429d8e9c3
commit 9c1d5ac586
2 changed files with 19 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2011-05-05 Milan Zamazal <pdm@zamazal.org>
* progmodes/glasses.el (glasses-separate-capital-groups): New option.
(glasses-make-readable): Use glasses-separate-capital-groups.
2011-05-05 Juanma Barranquero <lekktu@gmail.com>
* emacs-lisp/warnings.el (warning-level-aliases): Reflow docstring.

View File

@ -116,6 +116,15 @@ parenthesis expression starts."
:group 'glasses
:type '(repeat regexp))
(defcustom glasses-separate-capital-groups t
"If non-nil, try to separate groups of capital letters.
When the value is non-nil, HTMLSomething and IPv6 are displayed
as HTML_Something and I_Pv6 respectively. Set the value to nil
if you prefer to display them unchanged."
:group 'glasses
:type 'boolean
:version "24.1")
(defcustom glasses-uncapitalize-p nil
"If non-nil, downcase embedded capital letters in identifiers.
Only identifiers starting with lower case letters are affected, letters inside
@ -212,8 +221,11 @@ CATEGORY is the overlay category. If it is nil, use the `glasses' category."
'glasses-init))
;; Face + separator
(goto-char beg)
(while (re-search-forward "[a-z]\\([A-Z]\\)\\|[A-Z]\\([A-Z]\\)[a-z]"
end t)
(while (re-search-forward
(if glasses-separate-capital-groups
"[a-z]\\([A-Z]\\)\\|[A-Z]\\([A-Z]\\)[a-z]"
"[a-z]\\([A-Z]\\)")
end t)
(let* ((n (if (match-string 1) 1 2))
(o (glasses-make-overlay (match-beginning n) (match-end n))))
(goto-char (match-beginning n))