-
Notifications
You must be signed in to change notification settings - Fork 352
Develop -> Master #472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Develop -> Master #472
Conversation
Also, I may need to rebase master back into develop, and fix some conflicts... |
this makes almost no difference to the indenter's effects. I found that our most time consuming indent operation is from the 'skip_expr' which looks at syntax items, removing 'regex' from it seems to help a bit but it still will be slow on long lines
the search pair function almost stalls my decently powerful macbook pro on really long lines, could be annoying because of minification etc.this function just makes it backwards compatible in old vim versions or builds without this feature
* prevent repeated calls of searchpair ``` var magicWords = ['abracadabra', 'gesundheit', 'ventrilo'], spells = { 'fireball': function() { setOnFire() }, 'water': function() { putOut() } }, a = 1, b = 'abc', etc, somethingElse someFunc(param1, param2, param3, param4) ``` at the line which starts with a curly brace followed by a comment this was added for traversing the comma less property lines, however this only needs to be called once.this improves performance when using the endline operator style an operator would previously create an unnecessary indent when following a line which was the first of a list of block enclosed items, e.g. a array, function call, or object before: ``` vardefaultModules = { 'http:': http ,'https:': https } ``` after: ``` vardefaultModules = { 'http:': http ,'https:': https } ```
looking at how the line found with searchpair starts after: ``` var protocol = defaultModules = { 'http:': http ,'https:': https } ,htpModles = slf.htpModules || {} console.log()
Currently in a class definition, you can actually have a method called `get`. However with our match of `get` `set` and `static` as keywords, we broke the ability to properly support those method names. This should fix those cases.
* working detection of object properties the previous method is likely slower and doesn't really work * fun args supported also add support for func args
i don't know if this actually makes very much sense ``` 10 ..toString() ``` is invalid
* Re-organized a couple things * Added some TODO comments to remind myself what needs to be done
I truly believe this has no place in a JS syntax file...
* Checked all aspects of jsExpression - In preparation for it to be properly used * Code style tweaks - contained is such an important option, ensuring it's always first
With the refactoring of jsExpression, I was able to add a ton of finer granularity to various new region types. Current new regions: * jsObject * jsArray * jsParenIfElse * jsParenRepeat * jsParenSwitch * jsClassBlock * jsBlock * jsSwitchBlock * jsTernaryIf
I think this is actually in a really good place. It seems to work well in my test phaser.js file
Trying to make argument order more uniform
I don't think it needs to be a region, and infact incurs some annoying complexity if so
There is one caveat right now, to properly support it, we sort of require semicolons. Not sure if this is something people will be happy with or not...
Because it's not ALWAYS an array
We can use this as a test. By unlinking it, it shouldn't ever have any color theme associated with it, and if people complain, they can still highlight it. Otherwise if we hear no complaints after a while, we just pull it completely.
It's now technically a statement
* Fixes to jsSpreadOperator * Added fold to jsObject * Organized fold/extend arguments better
This fix may actually work out for us when using jsClassValue. There still are some cases where it could be tripped up, for example on multi line equations and stuff, but for the most part I think it should do the trick.
This should help with errant detection in files that use Flow. It also makes things safer so when typing out a ternary expression, you don't get weird flickering of major syntax region changes.
So I can do the rebase, but it will require a force push to How do you all feel about this? |
I don't think thats a problem, i'm not too concerned with a perfect commit history |
The only issue I see is people who might be tracking develop right now, and use a plugin manager. If I do a force push, then those people will have their develop branches freak out. |
Another solution would be to still merge this in manually, but then create a new branch off of master to begin dev work on. But then that means people will stop getting updates on |
a rebase sounds cleaner, most people will want to be on master now anyway |
Versions should be tracked on git anyways
Will need a version bump, me thinks.