-
Notifications
You must be signed in to change notification settings - Fork 624
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scheme: handle newline in define/set! line (5 days) #469
Scheme: handle newline in define/set! line (5 days) #469
Conversation
This is a temporary fix to avoid crashes for unexpected input. Eventually a token based parser will be needed. Signed-off-by: Masatake YAMATO <yamato@redhat.com>
This is a temporary fix to avoid crashes for unexpected input. Eventually a token based parser will be needed. Signed-off-by: Masatake YAMATO <yamato@redhat.com>
The current parser cannot handle comment syntax. Signed-off-by: Masatake YAMATO <yamato@redhat.com>
The current parser cannot handle syntax for string literal. Signed-off-by: Masatake YAMATO <yamato@redhat.com>
For S-expression based language like lisp and scheme, we need a way to define specialized parser.
Kind letter [a-z] should be reserverd in ctags side.
So ctags can be adapted to your define-xxx. |
I would avoid the a |
What about defadvice in elisp: (defadvice kill-region (before some-name activate)
...) you can't use something like cadr to teach ctags to catch some-name. But --regex-* is useful in this case. |
Cadaddr |
I have no idea to hadle define-values.
|
c*adr |
you use * to match anything of a list? |
Yes! |
I think ctags can treat (define-values (x y) ...) automatically. |
en, --rexp seems better |
We need destructuring here; ctags shoud make two tag entries: one for x, another for y. |
another case: (unless (symbolp some-symbol)
(defcustome some-symbol ... Ctags should parse lisp sexp by sexp rather line by line. So that ctags can find some-symbol. |
The same discussion can be done for xml based parser with xpointer. --langdef=svg |
With sexp based aproach we can deal with lisp families. A difficulty is how to handle the differences in comment syntax. Here we need code prism library. I wrote about it somewhere issue about keyword based parser guessing. |
…tion-line Scheme: handle newline in define/set! line
The parser assumes a name is within the same line where define/set! appears.
This causes a crash.