Variable: c-ts-mode--thing-settings
c-ts-mode--thing-settings is a variable defined in c-ts-mode.el.gz.
Value
((sexp
(not
(or (and named "\\`\\(?:\\(?:commen\\|translation_uni\\)t\\)\\'")
(and anonymous "[](),[{}]"))))
(list
"\\_<\\(a\\(?:bstract_parenthesized_declarator\\|rgument_list\\|ttribute_declaration\\)\\|co\\(?:mpound_statement\\|ndition_clause\\)\\|declaration_list\\|enumerator_list\\|f\\(?:ield_declaration_list\\|old_expression\\)\\|initializer_list\\|lambda_capture_specifier\\|p\\(?:ar\\(?:ameter_list\\|enthesized_\\(?:declarator\\|expression\\|\\(?:field\\|type\\)_declarator\\)\\)\\|reproc_\\(?:argument_list\\|if\\(?:_in_\\(?:enumerator_list\\(?:_no_comma\\)?\\|field_declaration_list\\)\\|def\\(?:_in_\\(?:enumerator_list\\(?:_no_comma\\)?\\|field_declaration_list\\)\\)?\\)?\\|par\\(?:ams\\|enthesized_expression\\)\\)\\)\\|require\\(?:ment_seq\\|s_parameter_list\\)\\|s\\(?:tr\\(?:ing_literal\\|uctured_binding_declarator\\)\\|ubscript_\\(?:argument_list\\|\\(?:range_\\)?designator\\)\\|ystem_lib_string\\)\\|template_\\(?:\\(?:argument\\|parameter\\)_list\\)\\)\\_>")
(sentence
"\\(?:attributed_statement\\|break_statement\\|c\\(?:\\(?:as\\|ontinu\\)e_statement\\)\\|d\\(?:eclaration\\|o_statement\\)\\|expression_statement\\|for_statement\\|goto_statement\\|if_statement\\|labeled_statement\\|preproc\\|return_statement\\|s\\(?:pecifier\\|witch_statement\\)\\|while_statement\\)")
(text "\\(?:comment\\|raw_string_literal\\)"))
Documentation
treesit-thing-settings for both C and C++.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/c-ts-mode.el.gz
;;; Things
(defvar c-ts-mode--thing-settings
`(;; It's more useful to include semicolons as sexp so
;; that users can move to the end of a statement.
(sexp (not (or (and named
,(rx bos (or "translation_unit" "comment") eos))
(and anonymous
,(rx (or "{" "}" "[" "]"
"(" ")" ","))))))
(list
,(regexp-opt '("preproc_params"
"preproc_if"
"preproc_ifdef"
"preproc_if_in_field_declaration_list"
"preproc_ifdef_in_field_declaration_list"
"preproc_if_in_enumerator_list"
"preproc_ifdef_in_enumerator_list"
"preproc_if_in_enumerator_list_no_comma"
"preproc_ifdef_in_enumerator_list_no_comma"
"preproc_parenthesized_expression"
"preproc_argument_list"
"attribute_declaration"
"declaration_list"
"parenthesized_declarator"
"parenthesized_field_declarator"
"parenthesized_type_declarator"
"abstract_parenthesized_declarator"
"compound_statement"
"enumerator_list"
"field_declaration_list"
"parameter_list"
"argument_list"
"parenthesized_expression"
"initializer_list"
"subscript_designator"
"subscript_range_designator"
"string_literal"
"system_lib_string"
;; C++
"template_parameter_list"
"structured_binding_declarator"
"template_argument_list"
"condition_clause"
"subscript_argument_list"
"requirement_seq"
"requires_parameter_list"
"lambda_capture_specifier"
"fold_expression")
'symbols))
;; compound_statement makes us jump over too big units
;; of code, so skip that one, and include the other
;; statements.
(sentence
,(regexp-opt '("preproc"
"declaration"
"specifier"
"attributed_statement"
"labeled_statement"
"expression_statement"
"if_statement"
"switch_statement"
"do_statement"
"while_statement"
"for_statement"
"return_statement"
"break_statement"
"continue_statement"
"goto_statement"
"case_statement")))
(text ,(regexp-opt '("comment"
"raw_string_literal"))))
"`treesit-thing-settings' for both C and C++.")