Comments (17)
Good question!
You are right. I disabled it temporary to pass tests; from the name of file(*.s) matlab parser is choose always in tests.
Even if there is no test related issue, it is nice that a proper parser is choose automatically.
I think ctags should have preprocessing stage for choosing proper parser; we can choose a parser from scores returned from the stage. The most of preprocessing stage may be language specific.
However, some can be generic; we can use modeline of editors as hit. See http://www.wireshark.org/tools/modelines.html.
determineInterpreter is good place to start. determineInterpreter is used only if a language parser cannot be choose from file suffix. It also should be used when conflicting is occured from the suffix rule.
from ctags.
I started working on this area. See #39.
from ctags.
Sorry, look at #41.
#41 introduces change incompatible with exuberant ctags.
Please, review it.
My colleague tells me 2-gram can be used for scoring.
from ctags.
h of C++ conflicts that of ObjectiveC
cmd of DosBatch conflicts that of REXX
from ctags.
In the meanwhile, might I suggest that we reenable the Matlab parser and adjust the failing test cases such that they use the correct parser?
I don't it makes sense to disable functionality for testability purposes.
from ctags.
With the modeline patches we can adjust the failing test cases such that they use the correct parser.
However, I would like to fix this issue completely with the 2gram aproach; we don't have serious deadline now.
Do YOU need matlab parser now?
from ctags.
I thought we were trying to coordinate our efforts with the SF maintainers.
I don't think they will love to see parsers disabled just to make test
units pass and may even take this effort not seriously because of that.
On Mon, Jun 23, 2014 at 1:23 PM, Masatake YAMATO [email protected]
wrote:
With the modeline patches we can adjust the failing test cases such that
they use the correct parser.
However, I would like to fix this issue completely with the 2gram aproach;
we don't have serious deadline now.Do YOU need matlab parser now?
—
Reply to this email directly or view it on GitHub
#38 (comment).
from ctags.
I think they will love to see that ctags chooses a proper parser automatically from input.
However, this is just my opinion.
Do you have any good patch?
What I have is very ugly and doesn't work with out modeline patches.
from ctags.
Please check pull request #46.
from ctags.
2-gram engine shows good detections:)
After cleaning up the table generator, I will send pull request.
% ./ctags -o - Test/.m > /dev/null
./ctags -o - Test/.m > /dev/null
about Test/matlab_backtracking.m winner: MatLab
about Test/matlab_backtracking.m winner: MatLab
about Test/matlab_test.m winner: MatLab
about Test/matlab_test.m winner: MatLab
about Test/objc.m winner: ObjectiveC
about Test/objc.m winner: ObjectiveC
about Test/objectivec_implementation.m winner: ObjectiveC
about Test/objectivec_implementation.m winner: ObjectiveC
from ctags.
That's great news :)
Keep it going!
from ctags.
Could you try https://github.com/masatake/ctags/tree/tg?
Matlab parser is enabled.
from ctags.
Your work looks great, but I still did not have the time to run some tests. Please give me a day or two to do so.
from ctags.
Great work!
I don't have anything to add.
from ctags.
Thank you for testing.
I will start merging modeline branch first.
from ctags.
Excellent work Masatake!
I have much to learn from you :)
On Mon, Jul 7, 2014 at 11:42 AM, Masatake YAMATO [email protected]
wrote:
Thank you for testing.
I will start merging modeline branch first.—
Reply to this email directly or view it on GitHub
#38 (comment).
from ctags.
tg branch is merged.
I have to add tg tables for
h of C++ conflicts that of ObjectiveC
cmd of DosBatch conflicts that of REXX
But these are rather unimportant task.
from ctags.
Related Issues (20)
- I18nRubyGem leading colon inside of tag name HOT 3
- Suggestion: add a line about Emacs in the answer to FAQ no. 7 HOT 1
- ctags-lang-i18nrubygem test fails without yaml support HOT 1
- C++: support modules HOT 42
- C++: disappearing pseudo tags
- Tags with whitespace \s on a character class not been recognised HOT 2
- make: *** No targets specified and no makefile found. Stop. HOT 1
- C: cannot extract function prototype decls with structure definitions
- Using treesitter as a metaparser
- JavaScript static initialization blocks break the tagging of the rest of the class HOT 1
- C++ final keyword in method definition HOT 15
- C++: variable template
- C++: crash when a variable template is given
- Archived homebrew-universal-ctags HOT 2
- Support XDG specification on Windows HOT 8
- Containerfile/Dockerfile parser HOT 12
- Write about pcre2 in docs/autotools.rst HOT 1
- C++: null tag for the code specfying operator in unsing statement
- more numbers of improved language support HOT 13
- tagging pascal language does not recognize one-line-comments '//' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ctags.