рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдирд╛рдо: javascript
ctags рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЬрд┐рд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
$ ctags --options=NONE Units/parser-javascript.r/js-async2.d/input-more-async.js
рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА:
$ cat Units/parser-javascript.r/js-async2.d/input-more-async.js
class ES6Class {
anotherAsyncMethod = async attrs => {}
}
рдЯреИрдЧ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЖрдк рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ:
$ cat tags
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 0.0.0 /00be957/
ES6Class Units/parser-javascript.r/js-async2.d/input-more-async.js /^class ES6Clas
s {$/;" c
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЯреИрдЧ рдЖрдЙрдЯрдкреБрдЯ:
рдкрдХреНрдХрд╛ рдирд╣реАрдВ? рд▓реЗрдХрд┐рди рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд, рд▓реЗрдХрд┐рди async рд╡рд░реНрдЧ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдЧ рдХреЗ рд╕рд╛рде
ctags рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг:
$ ctags --version
Universal Ctags 0.0.0(00be957), Copyright (C) 2015 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Jul 8 2018, 17:27:03
URL: https://ctags.io/
Optional compiled features: +wildcards, +regex, +iconv, +option-directory, +xpath, +case-inse
nsitive-filenames
рдЖрдк ctags рдмрд╛рдЗрдирд░реА рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ: homebrew
рдореИрдВрдиреЗ рдЦреБрдж рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдЦреБрдж рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдПрдХ рддрд░рдл рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдПрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЪреИрдЯ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЧрдпрд╛ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЖрдк рд▓реЛрдЧ рдореБрджреНрджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдВрд╡рд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореБрджреНрджрд╛)ред
рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХреА:
$ git diff --cached
diff --git a/Units/parser-javascript.r/js-async2.d/expected.tags b/Units/parser-javascript.r/js
-async2.d/expected.tags
index 18b00b08..8f058db6 100644
--- a/Units/parser-javascript.r/js-async2.d/expected.tags
+++ b/Units/parser-javascript.r/js-async2.d/expected.tags
@@ -7,3 +7,4 @@ method1 input.js /^ method1 : function() {$/;" m class:Class
method2 input.js /^ method2 : async function() {$/;" m class:Class
method3 input.js /^ method3() {$/;" m class:Class
method4 input.js /^ async method4() {$/;" m class:Class
+anotherAsyncMethod input.js /^anotherAsyncMethod = async attrs => {}$/;" m
class:ES6Class
diff --git a/Units/parser-javascript.r/js-async2.d/input-more-async.js b/Units/parser-javascrip
t.r/js-async2.d/input-more-async.js
new file mode 100644
index 00000000..42fcfd36
--- /dev/null
+++ b/Units/parser-javascript.r/js-async2.d/input-more-async.js
@@ -0,0 +1,3 @@
+class ES6Class {
+ anotherAsyncMethod = async attrs => {}
+}
рдПрдХ рддрд░рдл рдХреЗ рд░реВрдк рдореЗрдВ, рдХреНрдпрд╛ рдпрд╣ рдХреЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕ рдкрд░ рдХреЛрдИ рд▓реЗрдЦ рд╣реИ? рдореИрдВ рдПрд╕реА рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдЬреЗрдПрд╕ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдПрд╕рд┐рдВрдХ рдЯреИрдЧ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рдкреАрдЖрд░ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рддреЛ рдореБрдЭреЗ Units/
рдмрд╛рд╣рд░ рддрд░реНрдХ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдЖрдпрд╛ред рдХреНрдпрд╛ рдпрд╣ expected.tags
рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЯреИрдЧ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд▓реЗ рдЬрд╛рджреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ ?! рдореИрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рдЗрд╕ рдкрд░ рдорджрдж рдХрд░реЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!
рдЖрдкрдХреЛ attrs
рд▓рд┐рдП рдЯреИрдЧ рди рдорд┐рд▓рдиреЗ рдХрд╛ рдХрд╛рд░рдг async
, рдмрд▓реНрдХрд┐ рдпрд╣ рдХрд┐ JS рдкрд╛рд░реНрд╕рд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЗрдердб рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рднреА рдирд╣реАрдВ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░реВрдБрдЧрд╛ред
рдЖрдк рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ async
рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╡рд┐рдзрд┐ рдХреЛ рдЯреИрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред
рдПрдХ рддрд░рдл рдХреЗ рд░реВрдк рдореЗрдВ, рдХреНрдпрд╛ рдпрд╣ рдХреЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕ рдкрд░ рдХреЛрдИ рд▓реЗрдЦ рд╣реИ? рдореИрдВ рдПрд╕реА рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдЬреЗрдПрд╕ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдПрд╕рд┐рдВрдХ рдЯреИрдЧ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рдкреАрдЖрд░ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рддреЛ рдореБрдЭреЗ
Units/
рдмрд╛рд╣рд░ рддрд░реНрдХ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдЖрдпрд╛ред рдХреНрдпрд╛ рдпрд╣expected.tags
рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЯреИрдЧ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд▓реЗ рдЬрд╛рджреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ ?! рдореИрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рдЗрд╕ рдкрд░ рдорджрдж рдХрд░реЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдб рд╣реА, рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдирд╣реАрдВ, рдпрд╣ рдХрд╛рд▓рд╛ рдЬрд╛рджреВ рдХрд╛ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ; async
"рд╕рдорд░реНрдерди" (41c2c77ea6da1f42fcd891948de04d7b1ad2c958) рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдХреБрдЫ рдХреЛрдб рдЬреЛрдбрд╝рд╛: рдЗрд╕рдиреЗ async
рдХреЛ рдПрдХ рдХреАрд╡рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛, рд╕рд╛рде рд╣реА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ 4 рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ред
рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЧреИрд░-рдорд╛рдирдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред рд╕реНрдерд┐рд░/рдЖрд╡реГрддреНрддрд┐ рдЧреБрдг рдЕрднреА рддрдХ рдкрддреНрдерд░ рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдХрдо рддреЛ рдХреБрдЫ рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдПрдХ sap
рдХреАрд╡рд░реНрдб рджреЗрдЦрд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирддрд╛, рдпрд╣ @b4n рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ? рдореИрдВ рдмрд╣реБрдд рдЙрддреНрд╕реБрдХ рд╣реВрдБ
рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЧреИрд░-рдорд╛рдирдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред рд╕реНрдерд┐рд░/рдЖрд╡реГрддреНрддрд┐ рдЧреБрдг рдЕрднреА рддрдХ рдкрддреНрдерд░ рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдХрдо рддреЛ рдХреБрдЫ рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдЧреИрд░-рдорд╛рдирдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ?
LANG=JavaScript
; рд╣рдо, u-ctags рдбреЗрд╡рд▓рдкрд░, $LANG
рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВред рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рд╖рд╛ рд╕рдВрджрд░реНрдн, рдорд╛рдирдХ/рдЧреИрд░-рдорд╛рдирдХ рдЬрд╛рдирдХрд╛рд░реА, рдорд╛рдирдХреАрдХрд░рдг рдХреА рд╕реНрдерд┐рддрд┐, рдЫреЛрдЯреЗ рдЙрджрд╛рд╣рд░рдг рдЗрдирдкреБрдЯ, рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдареЛрд╕ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЯреИрдЧ рдЖрдЙрдЯрдкреБрдЯ,
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрдбрд╝реЗ рдХреЛрдбрдмреЗрд╕, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдЖрджрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдореБрдЭреЗ рдЪрд▓рд╛рддреА рд╣реИред
(рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рд╡рд╛рдХреНрдпреЛрдВ рдХреЛ рдХрд╣реАрдВ .github/ISSUE_TEMPLATE.md рдкрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред)
рдореИрдВрдиреЗ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдПрдХ рд╕реИрдк рдХреАрд╡рд░реНрдб рджреЗрдЦрд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирддрд╛, рдпрд╣ @ b4n рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ? рдореИрдВ рдмрд╣реБрдд рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдореБрд╕реНрдХрд╛рди рд╣реВрдБ
рд╣рдо Exuberant-ctags рд╕реЗ рдХреАрд╡рд░реНрдб рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╕реЗ Universal-ctags рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореИрдВрдиреЗ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдПрдХ
sap
рдХреАрд╡рд░реНрдб рджреЗрдЦрд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирддрд╛, рдпрд╣ @b4n рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ? рдореИрдВ рдмрд╣реБрдд рдЙрддреНрд╕реБрдХ рд╣реВрдБ
рдЬреИрд╕рд╛ рдХрд┐ @masatake рдиреЗ рдХрд╣рд╛, рдпрд╣ рдореЗрд░реЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдЖрддрд╛ рд╣реИ :) рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА, рдпрд╣ SAPUI5 рдврд╛рдВрдЪреЗ OpenUI5 рд▓рдЧрддрд╛ рд╣реИ)ред
рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рд░реНрд╕рд░ рдкрд░ OpenUI5 рдпрд╛ SAPUI5 рдЙрдк рдкрд╛рд░реНрд╕рд░ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
SAPUI5 рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдмрдкрд╛рд░реНрд╕рд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
@jayceekay , рдореИрдВ async
рд╕рдордЭрд╛рддреЗ рд╣реБрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓ рдпрд╛ рдХреБрдЫ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдпрджрд┐ рдпрд╣ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдорд╛рдирдХ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдмрдкрд╛рд░реНрд╕рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреВрдВрдЧрд╛ред
async
рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ Class
рдореЗрдВ get
рдпрд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ set
рд╣реЛред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
class Test {
async before() { // ctags will recognize this
}
get xx() {
return 1;
}
async after() { // ctags will NOT recognize this
}
set yy(val) {
return 2;
}
async after2() { // ctags will NOT recognize this
}
};
рдФрд░ async
, xx
рдФрд░ yy
рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдмрд╛рдд рдХреЛ рднреА рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд рдирд╣реАрдВред
[jet@living]/tmp% u-ctags --version
u-ctags --version
Universal Ctags 0.0.0(0730e66d), Copyright (C) 2015 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Jul 25 2019, 03:06:32
URL: https://ctags.io/
Optional compiled features: +wildcards, +regex, +iconv, +debug, +option-directory, +xpath, +json, +interactive, +sandbox, +yaml, +aspell, +packcc
[jet@living]/tmp% cat /tmp/foo.js
cat /tmp/foo.js
class Test {
async before() { // ctags will recognize this
}
get xx() {
return 1;
}
async after() { // ctags will NOT recognize this
}
set yy(val) {
return 2;
}
async after2() { // ctags will NOT recognize this
}
};
[jet@living]/tmp% u-ctags -o - /tmp/foo.js
u-ctags -o - /tmp/foo.js
Test /tmp/foo.js /^class Test {$/;" c
after /tmp/foo.js /^ async after() { \/\/ ctags will NOT recognize this$/;" m class:Test
after2 /tmp/foo.js /^ async after2() { \/\/ ctags will NOT recognize this$/;" m class:Test
before /tmp/foo.js /^ async before() { \/\/ ctags will recognize this$/;" m class:Test
xx /tmp/foo.js /^ get xx() {$/;" G class:Test
yy /tmp/foo.js /^ set yy(val) {$/;" S class:Test
[jet@living]/tmp% u-ctags --options=NONE -o - /tmp/foo.js
u-ctags --options=NONE -o - /tmp/foo.js
u-ctags: Notice: No options will be read from files or environment
Test /tmp/foo.js /^class Test {$/;" c
after /tmp/foo.js /^ async after() { \/\/ ctags will NOT recognize this$/;" m class:Test
after2 /tmp/foo.js /^ async after2() { \/\/ ctags will NOT recognize this$/;" m class:Test
before /tmp/foo.js /^ async before() { \/\/ ctags will recognize this$/;" m class:Test
xx /tmp/foo.js /^ get xx() {$/;" G class:Test
yy /tmp/foo.js /^ set yy(val) {$/;" S class:Test
[jet@living]/tmp%
Homebrew Universal-ctags рд╕рдВрд╕реНрдХрд░рдг рдкреБрд░рд╛рдирд╛ рд╣реИ, рдФрд░ рдЕрдм рддрдХ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
@KazuakiM , рдХреНрдпрд╛ рдЖрдк @ рдореЗрдкрд▓-рд▓реАрдл рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП Homebrew рдХреЗ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ?
@рдореЗрдкрд▓ рдХрд╛ рдкрддреНрддрд╛
рдореИрдВрдиреЗ рдпреВрдирд┐рд╡рд░реНрд╕рд▓-ctags рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИред
рдпрд╛ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ brew reinstall universal-ctags
ред
рдСрдк рд▓реЙрдЧ)
https://gist.github.com/KazuakiM/69f58a05f07e3f6dd6ea3d76bc977bea
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ?
@masatake @KazuakiM рдореИрдВ рдХреЛрд╢рд┐рд╢ brew reinstall universal-ctags
, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣реЛрдордмреНрд░реЗ рд╣реЗрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд╕рдорд╕реНрдпрд╛: https://github.com/Homebrew/legacy-homebrew/issues/13197
@рдореЗрдкрд▓ рдХрд╛ рдкрддреНрддрд╛
рдзрдиреНрдпрд╡рд╛рдж, рдХреНрдпрд╛ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ uninstall & install --HEAD
?
$ brew uninstall universal-ctags
$ brew install --HEAD universal-ctags
@KazuakiM рдореИрдВрдиреЗ рдЕрднреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдХрд╛рдо рднреА рдХрд░рддрд╛ рд╣реИред