[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/csharp-mode d942b27 441/459: Add tree-sitter based util
From: |
ELPA Syncer |
Subject: |
[elpa] externals/csharp-mode d942b27 441/459: Add tree-sitter based utility methods. (#232) |
Date: |
Sun, 22 Aug 2021 14:00:18 -0400 (EDT) |
branch: externals/csharp-mode
commit d942b2762c72a0112f564af173fa66d2e63903cf
Author: Jostein Kjønigsen <jostein@kjonigsen.net>
Commit: GitHub <noreply@github.com>
Add tree-sitter based utility methods. (#232)
---
csharp-tree-sitter.el | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/csharp-tree-sitter.el b/csharp-tree-sitter.el
index fea036f..3518f8d 100644
--- a/csharp-tree-sitter.el
+++ b/csharp-tree-sitter.el
@@ -311,6 +311,37 @@
)
"Scopes for indenting in C#.")
+;;; tree-sitter helper-functions. navigation, editing, etc.
+;;; may be subject to future upstreaming-effort
+
+(defun csharp-beginning-of-defun ()
+ "Replacement-function for `beginning-of-defun' for
`csharp-tree-sitter-mode'."
+ (interactive)
+ (when-let ((method (tree-sitter-node-at-point 'method_declaration)))
+ (goto-char (tsc-node-start-position method))))
+
+(defun csharp-end-of-defun ()
+ "Replacement-function for `end-of-defun' for `csharp-tree-sitter-mode'."
+ (interactive)
+ (when-let ((method (tree-sitter-node-at-point 'method_declaration)))
+ (goto-char (tsc-node-end-position method))))
+
+(defun csharp-delete-method-at-point ()
+ "Deletes the method at point."
+ (interactive)
+ (when-let ((method (tree-sitter-node-at-point 'method_declaration)))
+ (delete-region (tsc-node-start-position method)
+ (tsc-node-end-position method))))
+
+(defun csharp-change-string-at-point ()
+ "Change string at point."
+ (interactive)
+ (when-let ((method (tree-sitter-node-at-point 'string_literal)))
+ (delete-region (1+ (tsc-node-start-position method))
+ (1- (tsc-node-end-position method)))))
+
+;;; end tree-sitter helper-functions.
+
(defvar csharp-tree-sitter-mode-map
(let ((map (make-sparse-keymap)))
map)
@@ -333,6 +364,8 @@ Key bindings:
(setq-local tree-sitter-indent-current-scopes csharp-mode-indent-scopes)
(setq-local tree-sitter-indent-offset csharp-mode-indent-offset)
(setq-local indent-line-function #'tree-sitter-indent-line)
+ (setq-local beginning-of-defun-function #'csharp-beginning-of-defun)
+ (setq-local end-of-defun-function #'csharp-end-of-defun)
;; https://github.com/ubolonton/emacs-tree-sitter/issues/84
(unless font-lock-defaults
- [elpa] externals/csharp-mode 1de6556 422/459: Add base_list, (continued)
- [elpa] externals/csharp-mode 1de6556 422/459: Add base_list, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 1d02a54 424/459: Records and init-only fields, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 7d4af0d 425/459: Add with_expression, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 98a179a 427/459: Add dependencies to csharp-mode, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 6b232b1 429/459: Much better support for strings, interpolated in particular, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode c928423 435/459: Add generic property name, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode d272272 436/459: Add let keyword, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 43e5919 438/459: Prevent c-default-style error when set to string (#202), ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 6566964 440/459: Merge pull request #231 from emacs-csharp/bugfix/tree-sitter-crashes, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 1c2b9cb 442/459: Add more nodes to beginning/end-of-defun, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode d942b27 441/459: Add tree-sitter based utility methods. (#232),
ELPA Syncer <=
- [elpa] externals/csharp-mode f977800 443/459: Add indentation settings for lambda functions (#229), ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 40c183e 452/459: Adjust wording in readme, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 2641599 454/459: Fix spectacular mis-edit of readme, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 26f1f8c 457/459: Add switch_expression, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 69fe52b 453/459: Version bump, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 0edf059 445/459: Fix ci (#234), ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode dd30649 459/459: Bump version, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 299d3f1 450/459: Don't require tree-sitter, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 27cd2e8 456/459: Align argument to siblings, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 573f23c 458/459: Assign copyright over to the FSF, ELPA Syncer, 2021/08/22