Questions tagged [syntax-table]
is an Emacs Lisp data structure in which each character's syntactic role is defined. Other Emacs facilities, such as font lock, navigation, parsing, etc., scan these syntax tables to determine where words, symbols, and other syntactic constructs begin and end. Syntax tables are unique to every major mode. They are customizable and even overridable with text properties.
79
questions
1
vote
0
answers
20
views
Make show-parens-mode recognize changed syntax table
I'm using a lot of bra-ket-like notation in LaTeX-mode, meaning things like ⟨f|, so I put
(modify-syntax-entry ?\⟨ "(|" LaTeX-mode-syntax-table)
(modify-syntax-entry ?\⟩ ")|" LaTeX-...
0
votes
0
answers
22
views
How to make escaped braces \{ and \} recognized as delimiters in latex-mode
In latex-mode in Emacs, I want to configure the syntax table such that only escaped braces \{ and \} are recognized as delimiters for expressions (sexp), while unescaped braces { and } are treated as ...
0
votes
1
answer
30
views
Define new comment style with string literals rather than characters
I am trying to define another comment style, similar to what we can do with modify-syntax-entry:
(modify-syntax-entry ?/ ". 124b")
(modify-syntax-entry ?* ". 23")
(modify-syntax-...
0
votes
1
answer
28
views
Whitespace in syntax table for comment delimiters in conflict with indentation and font lock
The special file format of my software uses angle brackets as a delimiter and # / # as comment markers (note the whitespace after the first # and before the last #). I try to make a major mode to ...
0
votes
0
answers
35
views
How do I make single quote function like a double quote in octave mode?
I'm using octave mode for matlab which works great mostly. However, now I've run into a difference in quoting mechanisms between matlab and octave which makes emacs misinterpret the code and mess up ...
0
votes
1
answer
62
views
Why do Emacs Lisp regular expressions match the percentage and dollar sign as word characters?
I ran into this behavior by accident and it seems quite unusual to me.
Why do Emacs Lisp regular expressions match the percentage and dollar sign as word characters?
One theory I had was that this is ...
0
votes
0
answers
90
views
How to instruct AUCTeX to ignore a specific character when indenting?
I'm writing a document with AUCTeX using the songs package. It all works well, but it requires to input chords like in the sequence \[La]. The problem is, AUCTeX ignores the first bracket (since it is ...
1
vote
1
answer
35
views
Can replace-regexp-lax-whitespace manage "~" as a whitespace?
I have this function:
(defvar biblio-publishers-info-list
'(("Cambridge University Press" . "Cambridge, U.K."))
"DOCSTRING")
(defun biblio-publishers-info-complete ()...
1
vote
1
answer
117
views
After setting syntax-propertize-function, comment is not being fontified with comment face
I'm trying to build a major mode for xwiki, where I'm defining
{{{
verbatim
}}}
as a comment.
So far, I've done
(eval-when-compile
(defconst xwiki-syntax-propertize-rules
(syntax-...
2
votes
0
answers
18
views
Make a set of characters act as open/close syntax?
Is there a way to make a set of characters act syntactically as open/close brackets? For example, {a> as an opening bracket, and <a} as a closing bracket? I know how to do this with single ...
5
votes
1
answer
126
views
How to use a particular syntax table with arbitrary functions?
I have an Elisp function which takes a string and performs capitalization (capitalize) on it, and then inserts it into a file. Apparently capitalize doesn't consider the single quote as a "word ...
3
votes
1
answer
554
views
How do I hook fundamental-mode and all modes derived from it for modifying syntax for underscores
Here is the definition of fundamental-mode:
(defun fundamental-mode ()
"Major mode not specialized for anything in particular.
Other major modes are defined by comparison with this one."
...
1
vote
1
answer
212
views
Tex indentation with TAB
Recently, when editing files in LaTex, upon pressing TAB, I get a huge indentation. Instead, the default behavior used to be to align with respect to previous environment definition. :
I start with ...
0
votes
1
answer
259
views
Treat hyphens as part of a word?
I use:
(global-superword-mode t)
in my init.el because I don't want Emacs to treat _ as a word delimiter.
How do I do the same thing for -? I'd like to enable this globally.
1
vote
1
answer
68
views
Making Emacs see ♥ as punctuation
I'm trying to get emacs to understand ♥ as punctuation.
(modify-syntax-entry ?♥ "." text-mode-syntax-table)
I'm not sure what the issue is. (That is a unicode heart.)
(modify-syntax-entry ?\...
2
votes
0
answers
40
views
Evil text objects on kebab-case behave differently on dw and cw
I would like my evil text objects to work on kebab-case words, so that dw or cw act on the "whole-kebab-word" and not just on "whole".
Therefor I have put (modify-syntax-entry ?- "w" clojure-mode-...
2
votes
2
answers
228
views
How to use underscores as word boundary for moving cursor?
Python mode annoyingly sets underscore (_) to be part of a word, making editing very tedious.
How can one reset this to Emacs's original behaviour?
9
votes
2
answers
1k
views
How to 'modify-syntax-entry' for a major mode?
Following this answer, when I type (modify-syntax-entry ?_ "w")
and do M-x eval-region, it has the effect I'm looking for, albeit only for that buffer. I've put (modify-syntax-entry ?_ "w") in my ....
0
votes
2
answers
138
views
How do I get Emacs to accept a # (hash) sign as a comment starter in a new mode?
I am attempting to develop an Emacs major mode for writing Tecplot macros. The Tecplot macro language has lots of peculiar constructs, such as a # sign for comments and $! for the beginning of a macro ...
3
votes
1
answer
141
views
What are the downsides of changing the syntax class of quotes in text-mode and backslash in AUCTeX?
It bothered me that sexp navigation commands didn't treat a quoted string as a single expression in text-mode. This is because the quote character " is in the punctuation syntax class in the text-mode ...
1
vote
1
answer
60
views
How to run a command with 'modify-syntax-entry' reset?
I have used modify-syntax-entry to remove underscores from being delimiting characters. e.g:
(modify-syntax-entry ?_ "w")
However I would like to temporary allow underscores to be used as a ...
1
vote
1
answer
115
views
forward-word and non-letter "words"
Using forward-word with this line:
foo *** *** bar,
I want to have the folowing behavior:
foo| ***| ***| bar|,
Not:
foo| *** *** bar|,
So, if between spaces there are only non-letter symbols, ...
0
votes
1
answer
202
views
font-lock keywords and syntax-table mutually interfering
I would like to define something that font-locks a bit like a new sort of string-literal/comment. I might write:
(font-lock-add-keywords 'emacs-lisp-mode
(list '("<<.*>>" 0 'my-custom-...
3
votes
1
answer
363
views
Simplest Pattern for matching Identifiers in complex Regular Expressions?
I frequently need a regular expression, that approximately matches identifiers in a given environment. Ignoring the "must not start with a number" requirement, this would mean e.g.
[[:alnum:]_]+ ...
1
vote
2
answers
861
views
Syntax/indentation problems with Vue mode in Emacs 27 nightly
I'm using vue-mode, based on mmm-mode with Emacs 27 nightly from 10/10/2019. Since that Emacs update, I don't get any indentation support in the script section of a Vue file.
Try this file with emacs -...
0
votes
1
answer
65
views
How can I fix shift-select-mode with own syntax-table
So I have modified syntax table for moving with C-<left>.
(defvar my-wacky-syntax-table
(let ((table (make-syntax-table)))
(modify-syntax-entry ?\( "w" table)
(modify-...
1
vote
0
answers
61
views
Test if I am inside a paired delimiter
I have been having a problem where I want an up-sexp command that treats paired delimiters like $ in LaTeX-mode just as if they were pairs of balanced parentheses. There are hacks I can use that get ...
2
votes
1
answer
65
views
What do the spaces in the NEWENTRY parameter to modify-syntax-entry mean?
I am looking to set up a syntax table for a major mode, and many of the examples, such as lisp-mode-syntax-table have entries like the following:
(modify-syntax-entry ?\[ "_ " table)
My question ...
3
votes
1
answer
294
views
How to set backslash character "\" to be a word constituent in LaTeX-mode syntax tables
In LaTeX-mode (AUCTeX) buffers, the backslash "\" is treated as an escape character. I'd like it to be treated as word constituent (syntax class "w") instead, but only in LaTeX-mode buffers. The main ...
1
vote
1
answer
125
views
`eval-after-load` gets executed, but syntax-table is missing [duplicate]
In the course of using Emacs I got a dozen of lines that simply make underscore part of a word, and most of them upon byte-compilation are causing warnings like reference to free variable ‘php-mode-...
2
votes
2
answers
85
views
syntax table malfunction
my-test.el contains the following:
(defun test01 ()
"scan for end of entry, trapping error."
(interactive)
(condition-case nil
(setq my-pt (scan-lists (point) 1 0))
(error ...
1
vote
1
answer
32
views
TeX Mode : making backward-word behaviour take into account Backslashes (\)
In TeX Mode, backward-word (M-b) stops when it encounters a backslash character (\).
For example, when the cursor point is after a \begin and I type M-b, the cursor point ends up between the \ (...
3
votes
1
answer
152
views
Move point to just before end of a comment
Given that the point is right in front of a comment, how do I move it to the end of the comment, but before the comment end markers?
For example:
for a C++ // xxx comment, I would like to move the ...
1
vote
1
answer
122
views
extend/customize Makefile syntax table
I work with a Makefile-like infrastructure that allows having lists as variables and appending values to them. For this, the += operator is used.
However, I'm having incorrect highlighting using this ...
1
vote
2
answers
256
views
how to make emacs think semicolon and brackets are words?
i've came on emacs from Sublime Text, and there ;[]{}()., etc are counts as word, and when you move in your document with Ctrl+Arrow you never skip these characters. I want make emacs recognize all ...
1
vote
0
answers
73
views
how to treat underscore as part of word in auctex? [duplicate]
I'm using auctex, and trying to make underscores count as part of a word. There are numerous answers to this question, and I've tried the following
(modify-syntax-entry ?_ "w")
(modify-syntax-entry ?...
3
votes
2
answers
378
views
Make `thing-at-point` treat dot as a symbol-constituent character?
Is there a way to tweak thing-at-point symbol regexp, so that it ignore dots as separators? Right now foo.bar in my Emacs is recognized as two different symbols, where I wish it was one.
2
votes
1
answer
209
views
How can I make syntax-propertize skip part of the buffer?
In SPARQL, comments starts with a # and follows to the end of the line. The problem is that URI's, which is a big part of SPARQL, can also contain #, but then they are not the start of a comment. Like ...
7
votes
0
answers
111
views
What was syntax-begin-function obsoleted in favour of?
Since Emacs 25.1, syntax-begin-function is obsolete:
syntax-begin-function is a variable defined in ‘syntax.el’.
Its value is nil
This variable is obsolete since 25.1.
This variable may be risky ...
1
vote
1
answer
107
views
Complex comment-start (and end) sequence
As far as I understand there is syntax flags only for comment delimiters made up of two characters but if I have comment delimiters of length greater than two characters is it possible to change ...
2
votes
2
answers
428
views
Rx: Skip commented out lines
I'm trying to make an expression that would match the text foo if it's not on a commented out line.
;; foo ; <= not this
bar ; <= not this
foo ; <= this
Now rx.el can exclude ...
2
votes
0
answers
92
views
How can I activate my syntax-table?
I'm using SampleMode
and the ModeTutorial
to create my own mode. I have a problem with the syntax table. As I understand, // and # start one-line comments like this:
(defvar my-mode-syntax-table
(...
1
vote
1
answer
211
views
How to know what chars are "word constituents" in latex-mode-syntax-table
In some of my query-replecements I need to have only alphabetic characters as word constituents in a local defined syntax-table. My approach is this:
(with-syntax-table
(let ((my-syntax-table (make-...
2
votes
1
answer
347
views
modify syntax entry globally?
I'd like to treat underscores (_) as word characters everywhere (prog-mode, text, comments, etc.). I'm currently doing so in specific modes, like this:
(add-hook ruby-mode-hook #'ivan-treat-...
0
votes
1
answer
77
views
How come newline does not match [[:space:]] in tex-mode and bibtex-mode?
I was debugging some of my elisp code and realized that, in a tex-mode buffer, the newline character at end of line did not match [[:space:]].
In most other textmodes or progmodes, ie, the few I ...
2
votes
1
answer
173
views
specifying a syntax-table for use with TAGS file for etags
It would be convenient if I could arrange for visit-tags-table to open the TAGS file automatically with the correct syntax table for the language of the files being indexed in it. That way regular ...
1
vote
1
answer
263
views
Get thing-at-point to include periods
I'm using avy to select and insert symbols on screen with the help of thing-at-point. Is there an obvious way to get this to include periods? At the moment if I select self.blah I get just self (or ...
1
vote
0
answers
58
views
Setting syntax table leads to high CPU load
I want to set - as a word character for all reStructuredText files. In order to do this, I acted according to the wiki and added the following to my .emacs file:
(require 'misc)
(defvar my-...
3
votes
1
answer
482
views
add a rule to syntax-propertize-rules
I have an issue outlined here that I was able to find a partial solution for. The problem involved changing perl-modes syntax table. One of the commenters pointed me to the function syntax-propertize-...
3
votes
1
answer
266
views
modify syntax table for strings in perl modes
My company uses a version of Perl where you can define by binary number using something like my $var = 'b010110110; etc. Problem is both perl-mode and cperl-mode interpret ' as the start of the string ...