Skip to content

Commit

Permalink
Fortran: accept $ as parts of names
Browse files Browse the repository at this point in the history
Close universal-ctags#4043.

The test case is taken from universal-ctags#4033 submitted by @navinp0304.

Signed-off-by: Masatake YAMATO <[email protected]>
  • Loading branch information
masatake committed Jul 22, 2024
1 parent a5137d6 commit d562e26
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 1 deletion.
2 changes: 2 additions & 0 deletions Units/parser-fortran.r/dollars-in-names.d/args.ctags
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--sort=no
--kinds-Fortran=+L
4 changes: 4 additions & 0 deletions Units/parser-fortran.r/dollars-in-names.d/expected.tags
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
name$ input.f /^ function name$(/;" f
name$ input.f /^ integer name\$$/;" L function:name$ file:
main input.f /^ program main$/;" p
ret$ input.f /^ integer ret\$$/;" v program:main
11 changes: 11 additions & 0 deletions Units/parser-fortran.r/dollars-in-names.d/input.f
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
C Taken from #4033 submitted by @navinp0304.
function name$()
integer name$
name$ = 42
end function

program main
integer ret$
ret$=name$()
print *,ret$
end program
1 change: 1 addition & 0 deletions Units/parser-fortran.r/dollars-in-names.d/validator
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fortran+dollar-ok
2 changes: 1 addition & 1 deletion parsers/fortran.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
/*
* MACROS
*/
#define isident(c) (isalnum(c) || (c) == '_')
#define isident(c) (isalnum(c) || (c) == '_' || (c) == '$')
#define isBlank(c) (bool) (c == ' ' || c == '\t')
#define isType(token,t) (bool) ((token)->type == (t))
#define isKeyword(token,k) (bool) ((token)->keyword == (k))
Expand Down

0 comments on commit d562e26

Please sign in to comment.