Merge remote-tracking branch 'origin/master' into feature/android
This commit is contained in:
commit
03c929e528
4 changed files with 41 additions and 8 deletions
|
@ -64,9 +64,15 @@
|
|||
`((,(concat "\\(`?file://\\|\\[\\[\\|<\\|`\\)?"
|
||||
"\\(" iimage-mode-image-filename-regex "\\)"
|
||||
"\\(\\]\\]\\|>\\|'\\)?") . 2))
|
||||
"Alist of filename REGEXP vs NUM.
|
||||
Each element looks like (REGEXP . NUM).
|
||||
NUM specifies which parenthesized expression in the regexp.
|
||||
"Alist that specifies how to detect filenames of images to be displayed inline.
|
||||
The value should be an alist whose elements have the form
|
||||
|
||||
(REGEXP . NUM)
|
||||
|
||||
where REGEXP is a regular expression to search buffer text for what
|
||||
might be a specification of an inline image, and NUM is the number
|
||||
of a parenthesized sub-expression of REGEXP which gives the name of
|
||||
the image file to look up.
|
||||
|
||||
Examples of image filename patterns to match:
|
||||
file://foo.png
|
||||
|
@ -93,7 +99,7 @@ Examples of image filename patterns to match:
|
|||
(iimage-mode 0))
|
||||
|
||||
(defun iimage-modification-hook (beg end)
|
||||
"Remove display property if a display region is modified."
|
||||
"Remove display property if a display region BEG..END is modified."
|
||||
;;(debug-print "ii1 begin %d, end %d\n" beg end)
|
||||
(let ((inhibit-modification-hooks t)
|
||||
(beg (previous-single-property-change end 'display
|
||||
|
@ -112,8 +118,8 @@ Examples of image filename patterns to match:
|
|||
file)
|
||||
(with-silent-modifications
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(dolist (pair iimage-mode-image-regex-alist)
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward (car pair) nil t)
|
||||
(when (and (setq file (match-string (cdr pair)))
|
||||
(setq file (locate-file file image-path)))
|
||||
|
|
|
@ -571,7 +571,7 @@ a statement container is a node that matches
|
|||
;; Incomplete buffer state, better not reindent (bug#61017).
|
||||
((and (parent-is "ERROR")
|
||||
(or (node-is ,ruby-ts--class-or-module-regex)
|
||||
(node-is "\\`def\\'")))
|
||||
(node-is "\\`\\(?:def\\|identifier\\)\\'")))
|
||||
no-indent 0)
|
||||
|
||||
;; if then else elseif notes:
|
||||
|
@ -661,6 +661,13 @@ a statement container is a node that matches
|
|||
((n-p-gp nil "body_statement" ,ruby-ts--method-regex) ;other statements
|
||||
(ruby-ts--align-keywords ruby-ts--grand-parent-node) ruby-indent-level)
|
||||
|
||||
;; Quirk of the ruby parser: these "alignable" nodes don't
|
||||
;; have the "container" child node when there are no
|
||||
;; statements inside. Thus we have to have a separate rule
|
||||
;; for the "empty if/unless/case/def" situation.
|
||||
((match "\\`\\'" "\\`\\(?:if\\|unless\\|case\\|method\\)\\'")
|
||||
(ruby-ts--align-keywords ruby-ts--parent-node) ruby-indent-level)
|
||||
|
||||
;; Chained calls:
|
||||
;; if `ruby-align-chained-calls' is true, the first query
|
||||
;; matches and the node is aligned under the first dot (.);
|
||||
|
|
|
@ -617,10 +617,14 @@ treesit_load_language (Lisp_Object language_symbol,
|
|||
eassume (handle != NULL);
|
||||
dynlib_error ();
|
||||
TSLanguage *(*langfn) (void);
|
||||
char *c_name = xstrdup (SSDATA (base_name));
|
||||
treesit_symbol_to_c_name (c_name);
|
||||
char *c_name;
|
||||
if (found_override)
|
||||
c_name = xstrdup (SSDATA (override_c_name));
|
||||
else
|
||||
{
|
||||
c_name = xstrdup (SSDATA (base_name));
|
||||
treesit_symbol_to_c_name (c_name);
|
||||
}
|
||||
langfn = dynlib_sym (handle, c_name);
|
||||
xfree (c_name);
|
||||
error = dynlib_error ();
|
||||
|
|
|
@ -122,6 +122,22 @@ The whitespace before and including \"|\" on each line is removed."
|
|||
(funcall indent-line-function)
|
||||
(should (= (current-indentation) ruby-indent-level))))
|
||||
|
||||
(ert-deftest ruby-ts-indent-empty-if-else ()
|
||||
(skip-unless (treesit-ready-p 'ruby t))
|
||||
(let* ((str "c = if foo
|
||||
zz
|
||||
else
|
||||
zz
|
||||
end
|
||||
"))
|
||||
(ruby-ts-with-temp-buffer str
|
||||
(goto-char (point-min))
|
||||
(dotimes (_ 2)
|
||||
(re-search-forward "^ *zz")
|
||||
(replace-match "")
|
||||
(funcall indent-line-function)
|
||||
(should (= (current-indentation) 6))))))
|
||||
|
||||
(ert-deftest ruby-ts-add-log-current-method-examples ()
|
||||
(skip-unless (treesit-ready-p 'ruby t))
|
||||
(let ((pairs '(("foo" . "#foo")
|
||||
|
|
Loading…
Add table
Reference in a new issue