Commit graph

154 commits

Author SHA1 Message Date
Pham Huy Hoang
01e8a51451 feat(python): add "return" patterns to @indent_end
`return ...` is usually the last line of a
function/statement, so mark some possible patterns of `return` with
`@indent_end` to dedent the line after it
2023-03-16 13:41:19 +01:00
Pham Huy Hoang
f5ddd8f92e fix(python): add missing @indent_end 2023-03-16 03:46:01 -04:00
George Harker
fa0644667e fix: change folding algorithm to fix Python indents 2023-03-15 22:44:59 +01:00
Amaan Qureshi
95bcd6a8fa feat: add @string.documentation where applicable 2023-03-05 17:15:32 -05:00
Amaan Qureshi
33ba346e60 feat!: add @keyword.coroutine capture 2023-03-03 07:07:52 -08:00
Anthony Shi
8894d78f63 Update highlights.scm for Python
Added new keywords "is not" and "not in"
2023-03-02 22:54:45 -05:00
Christian Clason
f95ffd09ed python(highlights): adapt query to parser change 2023-02-28 20:27:09 +01:00
ObserverOfTime
14fa6e015e highlights(python): fix captures 2022-11-26 13:17:51 +02:00
Stephan Seitz
c924128771 highlights(python): add "except*"
Added in https://github.com/tree-sitter/tree-sitter-python/pull/176

About the feature https://realpython.com/python311-exception-groups/#exception-groups-and-except-in-python-311
2022-10-25 12:14:53 +02:00
ObserverOfTime
9b43ab819c highlights: use @preproc where appropriate 2022-10-15 08:49:01 -07:00
Lewis Russell
37398c7d68 feat(spell): support more languages 2022-09-26 13:47:12 +01:00
Lewis Russell
2a63ea5665 feat(spell): upstream spell queries from spellsitter 2022-09-06 12:44:19 +01:00
lfenzo
ae87408513 Split func/method definition from calls in python highlighting query 2022-08-03 12:05:30 -07:00
Ryan Barth
e6ff4c8084 fix: keep cls variable highlighting consistent in class methods 2022-06-14 22:35:14 +02:00
Stephan Seitz
c9ebd16c28 python(folds): fold whole functions not only body 2022-05-15 19:14:52 +02:00
Santos Gallegos
f1373051e5
Python: highlight future import (#2936)
* Python: highlight future import

* Use constant.builtin
2022-05-13 21:46:06 +00:00
Santos Gallegos
132405f18f Python: highlight raise from statement 2022-05-01 10:06:13 +02:00
Ferdinand Ratajczak
74a455c01e fixup! highlights(python): highlight exception keywords 2022-04-07 23:24:18 +02:00
Ferdinand Ratajczak
1fb68f76af highlights(python): highlight exception keywords 2022-04-07 23:24:18 +02:00
Stephan Seitz
b8d1c2445a highlights(python): "from" in yield should be @keyword.return
Fixes #2712
2022-04-01 17:00:21 +02:00
Stephan Seitz
fbcfa7ebee locals(python): adapt as_pattern to upstream change 2022-02-07 22:36:46 +01:00
Stephan Seitz
2caac44720 fix: Allow re-parsing in Python, XFAIL \ indentation test 2022-02-06 19:42:57 +01:00
Stephan Seitz
059fbc487c indents: allow aligned_indent for unfinished calls in C and Python 2022-02-05 18:54:55 +01:00
Stephan Seitz
c4e3564ea3 highlights(python): add support for pattern matching
Fixes #2080
Depends on https://github.com/tree-sitter/tree-sitter-python/pull/140
2022-01-28 19:11:20 +01:00
Munif Tanjim
bb60706433 feat(indent): support @aligned_indent for python 2022-01-21 10:51:51 +01:00
Munif Tanjim
c0110e34aa feat: rewrite indent module 2022-01-21 10:51:51 +01:00
Rafik Draoui
9b262596e0 Remove Python docstring injections
These injections lead to inconsistent highlighting since some edge cases
aren't handled (as mentioned in the PR description that introduced the
injections [0]). Besides, not all Python projects use reStructuredText
syntax in docstrings.

If someone still wants to use them, they can extend the base injection
queries through `after/queries/` [1] or enable them with
`vim.treesitter.set_query`.

See also: https://github.com/nvim-treesitter/nvim-treesitter/pull/1204

[0]: https://github.com/nvim-treesitter/nvim-treesitter/pull/917
[1]: ad69e2528a (adding-queries)
2022-01-04 23:15:30 +01:00
Santos Gallegos
56634f49ab Update queries
- Don't use the old form for predicates
- Update some invalid queries
2021-12-22 21:17:28 +01:00
Fabian
e01c7ce972
highlights(python): Improve self and cls highlight (#2134)
1. This function simplifies an unnecessary lua-match usage.
2. Fixes an accidental change, where "cls" was changed to "class" (fe4f320b66)
3. Match functions, which have have a decorator.
4. But exclude @staticmethod
5. Only highlight "cls" as @variable.builtin when the decorator is @classmethod

This might be a bit to complicated and some of this not to useful,
as this existing rule:

```scm
 ((identifier) @variable.builtin
  (#eq? @variable.builtin "self"))
```

overwrites the queries anyway.
2021-12-18 16:49:30 -05:00
Lewis Russell
011ac894ec Prefer lua-match over match
as string.find is much quicker than vim.regex:match*
2021-11-23 10:02:06 +01:00
Santos Gallegos
6888242b98 Python: highlight semicolon 2021-11-12 19:51:04 +01:00
Dundar Göc
6a4fdb317d chore: fix typos 2021-11-02 23:47:48 +01:00
Santos Gallegos
6d08b25f0e Update queries/python/highlights.scm 2021-11-01 16:54:46 +01:00
Santos Gallegos
df06643aa1 Revert "feat: add del keyword for highlights"
This reverts commit 385193d41f.
2021-11-01 16:54:46 +01:00
Ashish Panigrahi
385193d41f feat: add del keyword for highlights 2021-11-01 13:19:27 +01:00
Santos Gallegos
10419ee747 Python: highlight interpolation escaped chars
Support for these was just added in the grammar.
2021-10-22 09:21:42 +02:00
Santos Gallegos
948fa6a260
Python: fix class highlights (#1548) 2021-07-11 15:06:52 -05:00
Sergio Alejandro Vargas
017760113a Highlights(python): Add @keyword.function
Use `@keyword.function` for `def` and `lambda`
2021-07-06 00:53:40 +02:00
antonk52
90f15d9bf7 feat(keywords) merge return and yield into keyword.return group 2021-07-04 21:49:17 +02:00
antonk52
bd9095e969 feat(keywords) add keyword.return & keyword.yield 2021-07-04 21:49:17 +02:00
Stephan Seitz
6d5b4f19f3 python(highlights): don't use type for APP 2021-07-01 22:50:33 +02:00
Stephan Seitz
fe4f320b66 highlights(python): use any-of? 2021-05-16 21:13:12 +02:00
Santos Gallegos
67f0857015 Revert "Comment: use @combined to create just one tree per buffer (#1252)"
This reverts commit 4a7a713c52.
2021-05-07 16:51:57 +02:00
Santos Gallegos
4a7a713c52
Comment: use @combined to create just one tree per buffer (#1252)
* Comment: use `@combined` to create just one tree per buffer

There is no need to create a tree per line/block for comments.
Should fix https://github.com/nvim-treesitter/nvim-treesitter/issues/1251

* Add injections for scss

* Fix jsonc

* Combine jsdoc
2021-04-28 07:19:07 -05:00
Santos Gallegos
e4083fc8e1
Add comment parser to highlight comment tags (#893)
Closes #236
2021-03-12 11:21:46 -05:00
Santos Gallegos
af36d31cb7
Python: inject rst in docstrings (#917)
Since hasn't been much discussion around
https://github.com/nvim-treesitter/nvim-treesitter/issues/806.
I'm just porting the injection queries.
I've been using this for a while now.

Things I've noticed:

- Due that rst uses indentation for its syntax,
  everything is treated as an block quote (but it looks good).
  This can be solved by having a predicate like `#dedent!`.
- Looks like there is a bug in how the injected content is extracted

  ```
  def foo():
      """Foo bar"""
  ```

  That would be parsed as a section title for some reason,
  but it's a paragraph.

  In rst it would be a title if the content was:

  ```
  """
  Foo bar
  """
  ```

  If the content is

  ```
  """Foo bar"""
  ```

  That's just a paragraph.

I'll try to debug that from the neovim side next week or so.
2021-02-05 15:01:50 +00:00
Jędrzej Boczar
e4f8e4147c indent: add Python @ignore queries 2021-01-14 13:54:43 +01:00
Jędrzej Boczar
e6b8c5e680 indent: add Python @return queries 2021-01-14 13:54:43 +01:00
Stephan Seitz
b441f257a4 Python highlights: update definition of decorator 2021-01-07 08:52:41 +01:00
Stephan Seitz
1cf7a1ddc9 Python locals: Add new node with_clause 2021-01-07 08:52:41 +01:00