;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\207" [require cl-lib seq tree-sitter tree-sitter-hl tree-sitter-indent] 2) #@43 Default patterns for tree-sitter support. (defvar csharp-mode-tree-sitter-patterns [(comment) @comment (modifier) @keyword (this_expression) @keyword [(real_literal) (integer_literal)] @number (null_literal) @constant (boolean_literal) @constant (character_literal) @string ["using" "namespace" "class" "if" "else" "throw" "new" "for" "return" "await" "struct" "enum" "switch" "case" "default" "typeof" "try" "catch" "finally" "break" "foreach" "in" "yield" "get" "set" "when" "as" "out" "is" "while" "continue" "this" "ref" "goto" "interface" "from" "where" "select"] @keyword (from_clause (identifier) @variable) (group_clause) (order_by_clause) (select_clause (identifier) @variable) (query_continuation (identifier) @variable) @keyword (interpolation (identifier) (interpolation_format_clause) @variable) (interpolation (identifier) * @variable) [(string_literal) (verbatim_string_literal) (interpolated_string_expression)] @string (enum_member_declaration (identifier) @variable) (enum_declaration (identifier) @type) (interface_declaration name: (identifier) @type) (struct_declaration (identifier) @type) (namespace_declaration name: (identifier) @type) (base_list (identifier) @type) (property_declaration type: (nullable_type) @type name: (identifier) @variable) (property_declaration type: (predefined_type) @type name: (identifier) @variable) (property_declaration type: (identifier) @type name: (identifier) @variable) (class_declaration name: (identifier) @type) (constructor_declaration (identifier) @type) (method_declaration (identifier) @type (identifier) @function) (method_declaration (predefined_type) @type (identifier) @function) (method_declaration (nullable_type) @type (identifier) @function) (method_declaration (void_keyword) @type (identifier) @function) (method_declaration (generic_name) (identifier) @function) (local_function_statement (identifier) @type (identifier) @function) (local_function_statement (predefined_type) @type (identifier) @function) (local_function_statement (nullable_type) @type (identifier) @function) (local_function_statement (void_keyword) @type (identifier) @function) (local_function_statement (generic_name) (identifier) @function) (parameter type: (identifier) @type name: (identifier) @variable) (parameter (identifier) @variable) (array_rank_specifier (identifier) @variable) (array_type (identifier) @type) (array_creation_expression) (attribute (identifier) @variable (attribute_argument_list)) (attribute (identifier) @variable) (anonymous_object_creation_expression) (object_creation_expression (identifier) @type) (initializer_expression (identifier) @variable) (variable_declaration (identifier) @type) (variable_declarator (identifier) @variable) (equals_value_clause (identifier) @variable) (return_statement (identifier) @variable) (yield_statement (identifier) @variable) (type_parameter (identifier) @type) (type_argument_list (identifier) @type) (generic_name (identifier) @type) (implicit_type) @type (predefined_type) @type (nullable_type) @type ["operator"] @type (binary_expression (identifier) @variable (identifier) @variable) (binary_expression (identifier) * @variable) (conditional_expression (identifier) @variable) (prefix_unary_expression (identifier) * @variable) (postfix_unary_expression (identifier) * @variable) (type_of_expression (identifier) @variable) (assignment_expression (identifier) @variable) (cast_expression (identifier) @type) (preprocessor_directive) @constant (preprocessor_call (identifier) @string) (for_each_statement (identifier) @type (identifier) @variable) (for_each_statement (implicit_type) @type (identifier) @variable) (for_each_statement (predefined_type) @type (identifier) @variable) (catch_declaration (identifier) @type (identifier) @variable) (catch_declaration (identifier) @type) (switch_statement (identifier) @variable) (switch_expression (identifier) @variable) (if_statement (identifier) @variable) (declaration_expression (implicit_type) (identifier) @variable) (arrow_expression_clause (identifier) @variable) (label_name) @variable (qualified_name (identifier) @type) (using_directive (identifier) * @type) (await_expression (identifier) * @function) (invocation_expression (identifier) @function) (element_access_expression (identifier) @variable) (conditional_access_expression (identifier) @variable) (member_binding_expression (identifier) @variable) (member_access_expression (identifier) @function) (name_colon (identifier) * @variable) (name_equals (identifier) @type) (field_declaration) (argument (identifier) @variable)] (#$ . 236)) (byte-code "\300\301!\210\302\303\304\305\306\307%\210\310\311\312\313\314DD\315\316\317\306\320&\207" [make-variable-buffer-local csharp-mode-tree-sitter-patterns custom-declare-group csharp-mode-indent nil "Indent lines using Tree-sitter as backend" :group tree-sitter custom-declare-variable csharp-mode-indent-offset funcall function #[0 "\300\207" [4] 1] "Indent offset for csharp-mode" :type integer csharp] 8) #@29 Scopes for indenting in C#. (defvar csharp-mode-indent-scopes '((indent-all accessor_declaration break_statement arrow_expression_clause parameter_list conditional_expression ".") (indent-rest binary_expression switch_section) (indent-body block anonymous_object_creation_expression enum_member_declaration_list initializer_expression expression_statement declaration_list attribute_argument_list switch_body) (paren-indent parenthesized_expression) (align-char-to) (aligned-siblings parameter) (multi-line-text comment preprocessor_call labeled_statement) (outdent case_switch_label)) (#$ . 5237)) (defvar csharp-tree-sitter-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [csharp-tree-sitter-mode-hook variable-documentation put "Hook run after entering C# mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp csharp-tree-sitter-mode-map definition-name csharp-tree-sitter-mode] 4) (defvar csharp-tree-sitter-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\210\303\311\323\324#\207" [csharp-tree-sitter-mode-abbrev-table csharp-tree-sitter-mode-map variable-documentation put purecopy "Keymap for `csharp-tree-sitter-mode'." boundp csharp-tree-sitter-mode-syntax-table definition-name csharp-tree-sitter-mode (lambda (def-tmp-var) (defvar csharp-tree-sitter-mode-syntax-table def-tmp-var)) make-syntax-table "Syntax table for `csharp-tree-sitter-mode'." (lambda (def-tmp-var) (defvar csharp-tree-sitter-mode-abbrev-table def-tmp-var)) define-abbrev-table nil "Abbrev table for `csharp-tree-sitter-mode'." derived-mode-parent prog-mode custom-mode-group csharp] 5) #@253 Major mode for editing Csharp code. Key bindings: \{csharp-mode-map} In addition to any hooks its parent mode `prog-mode' might have run, this mode runs the hook `csharp-tree-sitter-mode-hook', as the final or penultimate step during initialization. (defalias 'csharp-tree-sitter-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R '=\204R\326 \325'C#\210\327 !\210\330\f!\210 '\331\211()\306\332!\210*\306\333!\210+\306\334!\210\335,\204\202\336,\306\337!\210-\306\340!\210\341 \306\342!\210\343\"\344 \210)\345\346!\207" [delay-mode-hooks major-mode mode-name csharp-tree-sitter-mode-map csharp-tree-sitter-mode-syntax-table csharp-tree-sitter-mode-abbrev-table make-local-variable t prog-mode csharp-tree-sitter-mode "C#" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table nil tree-sitter-indent-current-scopes tree-sitter-indent-offset indent-line-function tree-sitter-indent-line (nil) tree-sitter-hl-default-patterns comment-start "// " comment-end "" tree-sitter-hl-mode run-mode-hooks csharp-tree-sitter-mode-hook local-abbrev-table csharp-mode-syntax-table csharp-mode-map csharp-mode-indent-scopes csharp-mode-indent-offset font-lock-defaults csharp-mode-tree-sitter-patterns] 6 (#$ . 7210) nil]) (byte-code "\300\301\302\"\210\303\304!\207" [add-to-list tree-sitter-major-mode-language-alist (csharp-tree-sitter-mode . c-sharp) provide csharp-tree-sitter] 3)