Commit graph

112 commits

Author SHA1 Message Date
Bruno BELANYI d253cca017 Add script for neovim tests
This will be used to check the indentation queries.
2022-06-13 10:03:58 +02:00
Bruno BELANYI c90d9d8212 Release 0.1.2
All checks were successful
continuous-integration/drone/push Build is passing
Fix indentation *after* and indented block.
2022-06-12 21:06:11 +02:00
Bruno BELANYI 96edb1d0f7 Add '@indent_end' markers
Ensures for example that the following scenario

```tiger
let
in
    (
    ) /* <- Inputting a new-line will indent the cursor */
end
```

Does not happen.
2022-06-12 21:04:18 +02:00
Bruno BELANYI c7a439c896 Release 0.1.1
All checks were successful
continuous-integration/drone/push Build is passing
Fixed the indentation queries.
2022-06-12 20:47:01 +02:00
Bruno BELANYI 6216812a33 Add variable declarations indents
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-12 20:45:07 +02:00
Bruno BELANYI 5545b9c926 Add values indents 2022-06-12 20:45:07 +02:00
Bruno BELANYI 8a56748e88 Add functions indents 2022-06-12 20:45:07 +02:00
Bruno BELANYI 7975ca2486 Add groupings indents 2022-06-12 20:40:56 +02:00
Bruno BELANYI bca103a393 Fix indent queries
You need to add '@indent' to the *parent* node, which whill indent the
children. For some reason I understood it as marking the node that
should be indented when I wrote these.

These were tested manually in Neovim, I need to add a way to test them
correctly though.
2022-06-12 20:38:51 +02:00
Bruno BELANYI 2b2a75af43 Release 0.1.0
All checks were successful
continuous-integration/drone/push Build is passing
With the extensions now integrated, and most queries being in a state
fit to start testing them, this is good enough for a first release.
2022-06-04 22:06:06 +02:00
Bruno BELANYI 5862966ddf Add README 2022-06-04 22:04:10 +02:00
Bruno BELANYI d6f624ebda Add method text objects 2022-06-04 22:02:34 +02:00
Bruno BELANYI a522aab9cd Add class text objects 2022-06-04 22:00:08 +02:00
Bruno BELANYI 7d0ab1f40c Add object-oriented indents 2022-06-04 21:54:44 +02:00
Bruno BELANYI 2e08482c67 Add object-oriented folds 2022-06-04 21:52:39 +02:00
Bruno BELANYI c9efe870ab Add class tags 2022-06-04 21:50:45 +02:00
Bruno BELANYI 746c8d27b8 Add method tags 2022-06-04 21:45:54 +02:00
Bruno BELANYI b1c2da4cb4 Add 'self' built-in variable high-lighting 2022-06-04 21:45:54 +02:00
Bruno BELANYI acb5765591 Make 'method' keyword more specific 2022-06-04 21:45:54 +02:00
Bruno BELANYI 065ad5f760 Make 'new' constructor keyword 2022-06-04 21:45:54 +02:00
Bruno BELANYI 9c51cbc93f Add 'Object' built-in type 2022-06-04 21:45:54 +02:00
Bruno BELANYI 425890a6fc Add methods high-lighting 2022-06-04 21:45:54 +02:00
Bruno BELANYI 555e10c736 Add object-oriented keywords high-lighting 2022-06-04 21:45:54 +02:00
Bruno BELANYI 60804f0ff0 Add object-oriented constructs
Another EPITA extension, although this is mentionned in the book.
2022-06-04 21:45:47 +02:00
Bruno BELANYI 21172e21e7 Fix assignment priority
The assignment operator is lower priority than any other binary
operator.

Otherwise the following:

```tiger
a := b | c
```

Would be parsed as:

```tiger
(a := b) | c
```

Instead of the expected:

```tiger
a := (b | c)
```
2022-06-04 21:45:40 +02:00
Bruno BELANYI 869b0bf79a Add meta-variable keywords high-lighting 2022-06-04 21:45:40 +02:00
Bruno BELANYI 572dab6f4b Add meta-variables
This is an EPITA extension of the language, used mostly by internal
compiler machinery.
2022-06-04 21:45:33 +02:00
Bruno BELANYI 1cfcc43469 Add queries to rust bindings
All checks were successful
continuous-integration/drone/push Build is passing
I should try using those bindings to write tests for currently untested
queries...
2022-06-04 11:02:13 +02:00
Bruno BELANYI 79413a9624 Do not indent inside strings 2022-06-04 11:00:41 +02:00
Bruno BELANYI 6732ec0994 Add loop indents 2022-06-04 10:58:14 +02:00
Bruno BELANYI 8ffe530561 Add conditional indents 2022-06-04 10:57:27 +02:00
Bruno BELANYI 83356398f9 Add comment indents
Yet another un-testable query with the vanilla tooling...
2022-06-04 10:54:36 +02:00
Bruno BELANYI e8883aaf5d Add loop text objects 2022-06-04 10:52:47 +02:00
Bruno BELANYI 0bb177a05e Add conditional text objects 2022-06-04 10:52:47 +02:00
Bruno BELANYI c31f249d4a Add function parameter text objects 2022-06-04 10:52:47 +02:00
Bruno BELANYI 221904815a Add function call text objects 2022-06-04 10:48:19 +02:00
Bruno BELANYI a871263996 Add function text objects 2022-06-04 10:43:35 +02:00
Bruno BELANYI c2dcb86e78 Add comment text objects
Once again, something that isn't testable with 'tree-sitter' tooling...
2022-06-04 10:43:35 +02:00
Bruno BELANYI 2bd24cceb4 Add folds
Unfortunately it seems like this is not really testable with the
'tree-sitter' tooling.

If I want to check that this is working correctly, I should explore how
to make use of, e.g., neovim to automate testing.
2022-06-04 10:43:35 +02:00
Bruno BELANYI 9214ca7c35 Add 'foldmethod' to grammar modeline 2022-06-04 10:43:35 +02:00
Bruno BELANYI 545d090540 Mark 'comment' as injecting 'comment'
Neovim defines queries for the 'comment' language, to match 'TODO',
'FIXME', etc...
2022-06-04 10:43:35 +02:00
Bruno BELANYI 10dae1ab92 Add scanner to bindings 2022-06-04 10:43:35 +02:00
Bruno BELANYI c4af009a8d Fix Cargo manifest 2022-06-04 10:43:35 +02:00
Bruno BELANYI efe0a2800b Add comment about 'locals' queries limitations
This is not enough of an issue to avoid using the functionality however,
for example variable declarations are thankfully not affected by this
issue, since they *must* be declared before their use.
2022-06-04 10:43:35 +02:00
Bruno BELANYI 184d3b9953 Add function tags 2022-06-04 10:43:35 +02:00
Bruno BELANYI 3e1068a336 Add built-in types
Not sure why it seems like the 'is-not? local' is not working.

Will investigate later
2022-06-03 22:04:30 +02:00
Bruno BELANYI 2d89ec8b20 Add built-in functions
All checks were successful
continuous-integration/drone/push Build is passing
This is a good proxy test to ensure that scope queries work correctly.
2022-06-03 21:09:11 +02:00
Bruno BELANYI 073ff80adb Add basic scoping queries 2022-06-03 21:02:40 +02:00
Bruno BELANYI 64ff9dd944 Add import path high-lighting
I don't think this group is supported by neovim, but 'tree-sitter-nix'
makes use of it, and I think it makes sense to add it.
2022-06-03 20:35:53 +02:00
Bruno BELANYI bd42c2c9c1 Move 'literals' high-lighting to end of file
Once again, seems like order matters, and I want to be able to write more specific queries.
2022-06-03 20:30:45 +02:00