GNU bug report logs - #60525
29.0.60; tree-sitter support in semantic-symref

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Tue, 3 Jan 2023 18:08:02 UTC

Severity: wishlist

Found in version 29.0.60

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Juri Linkov <juri <at> linkov.net>, 60525 <at> debbugs.gnu.org
Subject: bug#60525: 29.0.60; tree-sitter support in semantic-symref
Date: Wed, 4 Jan 2023 03:51:28 +0200
On 03/01/2023 20:06, Juri Linkov wrote:
> +    (c-ts-mode "*.[ch]")
>       (c++-mode "*.[chCH]" "*.[ch]pp" "*.cc" "*.hh")
> +    (c++-ts-mode "*.[chCH]" "*.[ch]pp" "*.cc" "*.hh")
>       (html-mode "*.html" "*.shtml" "*.php")
>       (mhtml-mode "*.html" "*.shtml" "*.php") ; FIXME: remove
>                                               ; duplication of
> @@ -53,7 +55,10 @@ semantic-symref-filepattern-alist
>                                               ; major mode definition?
>       (ruby-mode "*.r[bu]" "*.rake" "*.gemspec" "*.erb" "*.haml"
>                  "Rakefile" "Thorfile" "Capfile" "Guardfile" "Vagrantfile")
> +    (ruby-ts-mode "*.r[bu]" "*.rake" "*.gemspec" "*.erb" "*.haml"
> +                  "Rakefile" "Thorfile" "Capfile" "Guardfile" "Vagrantfile")
>       (python-mode "*.py" "*.pyi" "*.pyw")

Instead of duplicating entries, we could try to look up the remappings 
in major-mode-remap-alist.

Or (more effort) change the structure of the "alist" to also contain 
lists of modes in the keys. Like in eglot-server-programs.

diff --git a/lisp/cedet/semantic/symref/grep.el 
b/lisp/cedet/semantic/symref/grep.el
index c698c2ef5a2..ecfeaae220c 100644
--- a/lisp/cedet/semantic/symref/grep.el
+++ b/lisp/cedet/semantic/symref/grep.el
@@ -71,7 +71,10 @@ semantic-symref-derive-find-filepatterns
 Optional argument MODE specifies the `major-mode' to test."
   ;; First, try the filepattern alist.
   (let* ((mode (or mode major-mode))
-	 (pat (cdr (assoc mode semantic-symref-filepattern-alist))))
+	 (pat
+          (or (assoc-default mode semantic-symref-filepattern-alist)
+              (assoc-default (car (rassoc mode major-mode-remap-alist))
+                             semantic-symref-filepattern-alist))))
     (when (not pat)
       ;; No hit, try auto-mode-alist.
       (dolist (X auto-mode-alist)





This bug report was last modified 1 year and 285 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.