|
From: | Dmitry Gutov |
Subject: | Re: master e8acfc7: Add a command for string quotes toggling to ruby-mode |
Date: | Tue, 09 Dec 2014 23:47:34 +0200 |
User-agent: | Gnus/5.13 (Gnus v5.13) Emacs/24.4.51 (gnu/linux) |
Hi! Bozhidar Batsov <address@hidden> writes: > +(defun ruby--string-region () > + "Return region for string at point." > + (let ((orig-point (point)) (regex > "'\\(\\(\\\\'\\)\\|[^']\\)*'\\|\"\\(\\(\\\\\"\\)\\|[^\"]\\)*\"") beg end) > + (save-excursion > + (goto-char (line-beginning-position)) > + (while (and (re-search-forward regex (line-end-position) t) (not (and > beg end))) > + (let ((match-beg (match-beginning 0)) (match-end (match-end 0))) > + (when (and > + (> orig-point match-beg) > + (< orig-point match-end)) > + (setq beg match-beg) > + (setq end match-end)))) > + (and beg end (list beg end))))) Any reason this doesn't do something like (let ((state (syntax-ppss))) (when (memq (nth 3 state) '(?' ?\")) (goto-char (nth 8 state)) (forward-sexp) (list (nth 8 state) (point)))) ?
[Prev in Thread] | Current Thread | [Next in Thread] |