[geany/geany] a7884e: JavaScript: fix parsing of files starting with a shebang
Colomban Wendling
git-noreply at xxxxx
Tue Dec 24 18:30:04 UTC 2013
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Tue, 24 Dec 2013 18:30:04 UTC
Commit: a7884ee2f8b746e70cc2d71cf898a4d5a95172e0
https://github.com/geany/geany/commit/a7884ee2f8b746e70cc2d71cf898a4d5a95172e0
Log Message:
-----------
JavaScript: fix parsing of files starting with a shebang
Closes #1016.
Modified Paths:
--------------
tagmanager/ctags/js.c
tests/ctags/Makefile.am
tests/ctags/shebang.js
tests/ctags/shebang.js.tags
Modified: tagmanager/ctags/js.c
16 files changed, 16 insertions(+), 0 deletions(-)
===================================================================
@@ -501,6 +501,22 @@ static void readToken (tokenInfo *const token)
break;
}
+ case '#':
+ /* skip shebang in case of e.g. Node.js scripts */
+ if (token->lineNumber > 1)
+ token->type = TOKEN_UNDEFINED;
+ else if ((c = fileGetc ()) != '!')
+ {
+ fileUngetc (c);
+ token->type = TOKEN_UNDEFINED;
+ }
+ else
+ {
+ skipToCharacter ('\n');
+ goto getNextChar;
+ }
+ break;
+
default:
if (! isIdentChar (c))
token->type = TOKEN_UNDEFINED;
Modified: tests/ctags/Makefile.am
1 files changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -203,6 +203,7 @@ test_sources = \
regexp.js \
secondary_fcn_name.js \
semicolon.f90 \
+ shebang.js \
signature.cpp \
simple.bas \
simple.cbl \
Modified: tests/ctags/shebang.js
3 files changed, 3 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,3 @@
+#!/usr/bin/end nodejs
+
+function f(){}
Modified: tests/ctags/shebang.js.tags
2 files changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,2 @@
+# format=tagmanager
+fÌ16Ö0
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Commits
mailing list