[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/csharp-mode 512c858 386/459: Start extracting defcustom
From: |
ELPA Syncer |
Subject: |
[elpa] externals/csharp-mode 512c858 386/459: Start extracting defcustoms |
Date: |
Sun, 22 Aug 2021 14:00:07 -0400 (EDT) |
branch: externals/csharp-mode
commit 512c858b9e53bb15c8319460e7a5853297eca79e
Author: Theodor Thornhill <theo@thornhill.no>
Commit: Theodor Thornhill <theo@thornhill.no>
Start extracting defcustoms
---
csharp-mode.el | 243 +++++++++++++++++++++++++++++++++------------------------
1 file changed, 141 insertions(+), 102 deletions(-)
diff --git a/csharp-mode.el b/csharp-mode.el
index bf3fb3f..be6c527 100644
--- a/csharp-mode.el
+++ b/csharp-mode.el
@@ -165,6 +165,88 @@
:type 'hook
:group 'csharp)
+(defcustom csharp-mode-keyword
+ '(["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"
+ ] @keyword)
+ "Patterns for keywords in csharp-mode.")
+
+(defcustom csharp-mode-various-construct
+ '((comment) @comment
+ (modifier) @keyword
+ (this_expression) @keyword)
+ "Patterns for various constructs.")
+
+(defcustom csharp-mode-literal
+ '([(real_literal) (integer_literal)] @number
+ (null_literal) @constant
+ (boolean_literal) @constant)
+ "Patterns for literals in csharp-mode.")
+
+(defcustom csharp-mode-linq
+ '((from_clause (identifier) @variable) @keyword
+ (group_clause)
+ (order_by_clause)
+ (select_clause)
+ (query_continuation (identifier) @variable) @keyword)
+ "Patterns for linq queries in csharp-mode.")
+
+(defcustom csharp-mode-string
+ '((interpolation (identifier) (interpolation_format_clause) @variable)
+ (interpolation (identifier)* @variable)
+ [(string_literal) (verbatim_string_literal)
(interpolated_string_expression)] @string)
+ "Patterns for strings in csharp-mode.")
+
+(defcustom csharp-mode-enum
+ '((enum_member_declaration (identifier) @variable)
+ (enum_declaration (identifier) @type))
+ "Patterns for enums in csharp-mode.")
+
+(defcustom csharp-mode-struct
+ '((struct_declaration (identifier) @type))
+ "Patterns for structs in csharp-mode.")
+
+(defcustom csharp-mode-namespace
+ '((namespace_declaration
+ name: (identifier) @type))
+ "Patterns for namespaces in csharp-mode.")
+
+(defcustom csharp-mode-class
+ '((base_list (identifier) @type)
+ (property_declaration
+ type: (identifier) @type
+ name: (identifier) @variable)
+ (class_declaration
+ name: (identifier) @type))
+ "Patterns for classes in csharp-mode.")
+
+(defcustom csharp-mode-method
+ '((method_declaration (identifier) @type (identifier) @function)
+ (method_declaration (nullable_type) @type (identifier) @function)
+ (method_declaration (void_keyword) @type (identifier) @function)
+ (method_declaration (generic_name) (identifier) @function))
+ "Patterns for methods in csharp-mode.")
+
+(defcustom csharp-mode-parameter
+ '((parameter
+ type: (identifier) @type
+ name: (identifier) @variable)
+ (parameter (identifier) @variable))
+ "Patterns for parameters in csharp-mode.")
+
+(defcustom csharp-mode-array
+ '((array_rank_specifier (identifier) @variable)
+ (array_type (identifier) @type)
+ (array_creation_expression))
+ "Patterns for arrays in csharp-mode.")
+
+(defcustom csharp-mode-attribute
+ '((attribute (identifier) @variable (attribute_argument_list))
+ (attribute (identifier) @variable))
+ "Patterns for attributes in csharp-mode.")
+
;;;###autoload
(define-derived-mode csharp-mode prog-mode "C#"
"Major mode for editing Csharp code.
@@ -210,108 +292,65 @@ Key bindings:
(setq electric-indent-inhibit t))
(setq-local indent-line-function #'tree-sitter-indent-line)
(setq-local tree-sitter-hl-default-patterns
- [(comment) @comment
- (modifier) @keyword
- (this_expression) @keyword
- ["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"
- ] @keyword
- ;; Literals
- [(real_literal) (integer_literal)] @number
- (null_literal) @constant
- (boolean_literal) @constant
-
- (qualified_name (identifier) @type)
- (using_directive (identifier)* @type)
- (implicit_type) @type
- (predefined_type) @type
- (await_expression (identifier)* @function)
- (invocation_expression (identifier) @function)
- (from_clause (identifier) @variable) @keyword
- (group_clause)
- (order_by_clause)
- (select_clause)
- (query_continuation (identifier) @variable) @keyword
- (initializer_expression (identifier) @variable)
- (element_access_expression (identifier) @variable)
- (conditional_access_expression (identifier) @variable)
- (member_binding_expression (identifier) @variable)
- (member_access_expression (identifier) @function)
- (name_colon (identifier)* @variable)
- (type_parameter
- (identifier) @type)
- (type_argument_list
- (identifier) @type)
- (generic_name
- (identifier) @type)
- (name_equals (identifier) @type)
- (anonymous_object_creation_expression)
- (object_creation_expression (identifier) @type)
- (character_literal) @string
- (binary_expression (identifier) @variable (identifier) @variable)
- (binary_expression (identifier)* @variable)
- ;; strings
- (interpolation (identifier) (interpolation_format_clause) @variable)
- (interpolation (identifier)* @variable)
- [(string_literal) (verbatim_string_literal)
(interpolated_string_expression)] @string
-
- (conditional_expression (identifier) @variable)
- ;; enum
- (enum_member_declaration (identifier) @variable)
- (enum_declaration (identifier) @type)
- ;; struct
- (struct_declaration (identifier) @type)
-
-
- ;; Namespace
- (namespace_declaration
- name: (identifier) @type)
-
- ;; foreach
- (for_each_statement (identifier) @type (identifier) @variable
(identifier) @variable)
-
- ;; Class
- (base_list (identifier) @type)
- (property_declaration
- type: (identifier) @type
- name: (identifier) @variable)
- (class_declaration
- name: (identifier) @type)
- (field_declaration)
- (constructor_declaration (identifier) @type)
- ;; Methods
- (method_declaration (identifier) @type (identifier) @function)
- (method_declaration (nullable_type) @type (identifier) @function)
- (method_declaration (void_keyword) @type (identifier) @function)
- (method_declaration (generic_name) (identifier) @function)
- (parameter
- type: (identifier) @type
- name: (identifier) @variable)
- (parameter (identifier) @variable)
- ;; Unary expressions
- (prefix_unary_expression (identifier)* @variable)
- (postfix_unary_expression (identifier)* @variable)
- (nullable_type) @type
- (type_of_expression (identifier) @variable)
- (assignment_expression (identifier) @variable)
- (preprocessor_directive) @constant
- (preprocessor_call (identifier) @string)
- (argument (identifier) @variable)
- ;; switch statement
- (switch_statement (identifier) @variable)
- ;; arrays
- (array_rank_specifier (identifier) @variable)
- (array_type (identifier) @type)
- (array_creation_expression)
- ;; Attributes
- (attribute (identifier) @variable (attribute_argument_list))
- (attribute (identifier) @variable)
- ;; Casts
- (cast_expression (identifier) @type)
- (variable_declaration (identifier) @type)
- (variable_declarator (identifier) @variable)])
+ (apply #'vector
+ (append csharp-mode-various-construct
+ csharp-mode-literal
+ csharp-mode-keyword
+ csharp-mode-linq
+ csharp-mode-string
+ csharp-mode-enum
+ csharp-mode-struct
+ csharp-mode-namespace
+ csharp-mode-class
+ csharp-mode-method
+ csharp-mode-parameter
+ csharp-mode-array
+ csharp-mode-attribute
+ '(
+ (qualified_name (identifier) @type)
+ (using_directive (identifier)* @type)
+ (implicit_type) @type
+ (predefined_type) @type
+ (await_expression (identifier)* @function)
+ (invocation_expression (identifier) @function)
+ (initializer_expression (identifier) @variable)
+ (element_access_expression (identifier)
@variable)
+ (conditional_access_expression (identifier)
@variable)
+ (member_binding_expression (identifier)
@variable)
+ (member_access_expression (identifier)
@function)
+ (name_colon (identifier)* @variable)
+ (type_parameter
+ (identifier) @type)
+ (type_argument_list
+ (identifier) @type)
+ (generic_name
+ (identifier) @type)
+ (name_equals (identifier) @type)
+ (anonymous_object_creation_expression)
+ (object_creation_expression (identifier) @type)
+ (character_literal) @string
+ (binary_expression (identifier) @variable
(identifier) @variable)
+ (binary_expression (identifier)* @variable)
+ (conditional_expression (identifier) @variable)
+ ;; foreach
+ (for_each_statement (identifier) @type
(identifier) @variable (identifier) @variable)
+ (field_declaration)
+ (constructor_declaration (identifier) @type)
+ ;; Unary expressions
+ (prefix_unary_expression (identifier)*
@variable)
+ (postfix_unary_expression (identifier)*
@variable)
+ (nullable_type) @type
+ (type_of_expression (identifier) @variable)
+ (assignment_expression (identifier) @variable)
+ (preprocessor_directive) @constant
+ (preprocessor_call (identifier) @string)
+ (argument (identifier) @variable)
+ ;; switch statement
+ (switch_statement (identifier) @variable)
+ ;; Casts
+ (cast_expression (identifier) @type)
+ (variable_declaration (identifier) @type)
+ (variable_declarator (identifier) @variable)))))
(tree-sitter-hl-mode))
;;;###autoload
- [elpa] externals/csharp-mode 4916829 365/459: Update README.org, (continued)
- [elpa] externals/csharp-mode 4916829 365/459: Update README.org, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 7d0cfaa 367/459: Fix incorrectly commited code!, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 998a022 371/459: Strings, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode b27a3e4 373/459: More highlighting, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 9a9c92a 374/459: Many, many more things, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 658adb2 376/459: Add support for namespace-declarations., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 11d92b9 379/459: Various fixes, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 58928af 383/459: Indent object creation expression, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode a90b875 384/459: Add yield and object init indentation rules, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode eb3e9de 385/459: Almost functional indentation, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 512c858 386/459: Start extracting defcustoms,
ELPA Syncer <=
- [elpa] externals/csharp-mode f94e5a7 387/459: More extracting, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 323a028 388/459: More cleaning, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 84a5daa 389/459: Should not need to autoload c_sharp, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 4651004 391/459: Hassle with the defcustoms, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 5ac7484 392/459: Add back better support for interfaces, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 4eef364 394/459: Absorb tree-sitter-indent, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 8fdeedf 397/459: Indentation tweaking, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 3d0b60c 399/459: Add a little documentation, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 0de2bbc 400/459: Fix byte compilation errors, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 5730c99 401/459: Split functionality to two files, ELPA Syncer, 2021/08/22