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++.")