Allow discarding module imports with underscore

Gleam 0.23.3 allows discarding imported modules with the discard syntax.
This needs a small change in tree-sitter-gleam to accept discard nodes
in the import's 'as' field.
pull/844/head
Michael Davis 2023-11-07 13:05:05 +07:00
parent 11b843da16
commit ae4b58b85f
No known key found for this signature in database
3 changed files with 22 additions and 1 deletions

@ -80,7 +80,7 @@ module.exports = grammar({
"import",
field("module", $.module),
optional(seq(".", field("imports", $.unqualified_imports))),
optional(seq("as", field("alias", $.identifier)))
optional(seq("as", field("alias", choice($.identifier, $.discard))))
),
module: ($) => seq($._name, repeat(seq("/", $._name))),
unqualified_imports: ($) =>

@ -108,3 +108,19 @@ import animal.{type Cat as Kitty}
(unqualified_import
name: (type_identifier)
alias: (type_identifier)))))
================================================================================
Discard module imports
================================================================================
import wibble.{wobble} as _
--------------------------------------------------------------------------------
(source_file
(import
(module)
(unqualified_imports
(unqualified_import
(identifier)))
(discard)))

@ -11,6 +11,11 @@ import animal/cat.{Cat, type Cat}
// ^ keyword
// ^ type
import wibble.{wobble} as _
// ^ module
// ^ function
// ^ comment.unused
pub fn main() {
io.println("hello world")
// <- module