Closed ZedThree closed 1 year ago
@ZedThree I merged this locally after doing a rebase to resolve some conflicts with different versions of tree-sitter in parser.c. I attempted to push to the branch after that but I didn't have permission. Doesn't look like GitHub is recognizing the local code merge like GitLab usually does.
(if something looks like it went astray with the local merge let me know)
Thank you for the updates! Out of curiosity what is your main use case for tree-sitter is it the doc generation project you linked?
Great, thank you!
Yep, I maintain Ford and we've been investigating ways of pulling the parser out and using a standalone parser. This looks very promising! There's a few other tools in the Fortran ecosystem that might also be interested.
Personally, I'd also like to use it for syntax highlighting in Emacs, because the built-in regex-based highlighter struggles with very modern features like module procedure
in submodules.
Builds on #72
New features:
call foo%bar()
procedure
variable declarationsclass(*)
type
with parameterised intrinsic types:type(real(kind=real32))
use
statements:use foo, only : bar => quux
Changes to existing features:
abstract interface
as a separate named nodeabstract
,public/private
,bind
,extends
class is
toselect type
class default
forselect type
class default
case was parsed as a repeated node:(default) (default)
Includes tests for all new and changed features