Skip to content

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

Merged
merged 31 commits into from
Jun 14, 2016
Merged

Develop -> Master #472

merged 31 commits into from
Jun 14, 2016

Conversation

amadeus
Copy link
Collaborator

@amadeus amadeus commented Jun 13, 2016

Will need a version bump, me thinks.

@amadeus
Copy link
Collaborator Author

amadeus commented Jun 13, 2016

Also, I may need to rebase master back into develop, and fix some conflicts...

bounceme and others added 29 commits June 13, 2016 14:52
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.
support less common object defs . 
comment detection compatibility.
only use a c style when not in a block
@amadeus
Copy link
Collaborator Author

amadeus commented Jun 13, 2016

So I can do the rebase, but it will require a force push to develop.

How do you all feel about this?

@bounceme
Copy link
Collaborator

I don't think thats a problem, i'm not too concerned with a perfect commit history

@amadeus
Copy link
Collaborator Author

amadeus commented Jun 13, 2016

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.

@amadeus
Copy link
Collaborator Author

amadeus commented Jun 13, 2016

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 develop... Six of one, half a dozen of the other

@bounceme
Copy link
Collaborator

a rebase sounds cleaner, most people will want to be on master now anyway

Versions should be tracked on git anyways
@amadeus amadeus merged commit 6b58cd0 into master Jun 14, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants