Closed aldanor closed 9 years ago
Thanks @aldanor i will check for this.
This is what you'll see from the next release, make sure you using the latest build:
@equinusocio hmm, this highlighting looks quite wrong to me actually.
hello
is an identifier, however it's highlighted the same as literal string; same on lines 4, 5 and 6. It should probably be just white, same as identifiers in other scopes. Or blue (which is what tomorrow 80s does for function arguments)..format
is not at all different from .format
on line 3, but it's highlighted differently. It should probably be blue.int
, float
).I cant style some elements because the package doesn't give me the scope. I think that the python syntax have some issue with the new system.
Hey - unfortunately I think the recent changes have actually made things quite significantly worse.
The most obvious one is the inability to distinguish between variables and strings within function calls, below:
I'm in the same boat with @evenicoulddoit. Had to switch color schemes because it was unbearable. Strings and variable names were all the same color.
@evenicoulddoit i need some snippet code
I think tomorrow night could be a good reference here in general (re: what should be highlighted and what things can be of the same colour) since it got Python highlighting almost completely right.
@equinusocio what would you like? The above snippet was:
url(r'^home/$',
views.CustomerLoginHome.as_view(),
name='home')
I think this is related with the python syntax because i get one scope for all the "views" string:
Unfortunately I don't know enough about the construct of the syntax highlighting to comment, though both strings mentioning "home" should be noticeably different from the views.CustomerLoginHome.as_view()
method. Its definitely possible because I switched to another scheme which differentiates between the two
@evenicoulddoit Yes i can make strings different, but the major issue is the "views.Customer... " that i can't fix. What color do you like for strings?
I think green works well for strings, and perhaps just white for variables used within functions?
@evenicoulddoit do you like this?
@equinusocio Yeh, that works :)
@equinusocio Yes, that is much better. +1 on the issue, and also +1 on your latest proposed solution!
Check the latest release
I think this is a big improvement for Python:
But JavaScript seems almost entirely blue:
That might be a separate issue, and I can't remember if its a regression.
@evenicoulddoit Paste this JS snippet please. What ST build are you using? i remember that from 3085 build sublime text use a new syntax system and this theme support only this new system. There is no legacy support for the oldest syntax system because there is a lot of changes in the native language scopes.
Here a pic of my js file, st build 3083
I need a portion of your code snippet
// window resize
$(window).bind('resize.elastislide', function( event ) {
// set values again
instance._setCurrentValues();
// need to resize items
if( instance.visibleWidth < instance.options.minItems * ( instance.options.imageW + 2 * instance.options.border ) + ( instance.options.minItems - 1 ) * instance.options.margin ) {
instance._setDim( ( instance.visibleWidth - ( instance.options.minItems - 1 ) * instance.options.margin ) / instance.options.minItems );
instance._setCurrentValues();
instance.fitCount = instance.options.minItems;
}
else{
instance._setDim();
instance._setCurrentValues();
}
instance.$slider.css({
width : instance.sliderW + 10 // TODO: +10px seems to solve a firefox "bug" :S
});
// slide to the current element
clearTimeout( instance.resetTimeout );
instance.resetTimeout = setTimeout(function() {
instance._slideToCurrent();
}, 200);
});
// navigation buttons events
this.$navNext.bind('click.elastislide', function( event ) {
instance._slide('right');
});
this.$navPrev.bind('click.elastislide', function( event ) {
instance._slide('left');
});
// item click event
this.$items.bind('click.elastislide', function( event ) {
instance.options.onClick( $(this) );
//return false;
});
// touch events
instance.$slider.touchwipe({
wipeLeft : function() {
instance._slide('right');
},
wipeRight : function() {
instance._slide('left');
}
});
}
Ok same thing.
What ST build are you using? i remember that from 3085 build sublime text use a new syntax system and this theme support only this new system. There is no legacy support for the oldest syntax system because there is a lot of changes in the native language scopes.
I update sublime text 3 to the dev 3095 and work 100%
Belle, belle!
I understand that its a lot more work to support older versions of Sublime, but bear in mind that 3095 is a bleeding edge version, and that its unlikely most will have it. Perhaps you could add a message to install.txt
so that people won't be surprised when it doesn't look as expected?
The only criticism I have now with the Python scheme is the lack of distinction between a function declaration and a function invocation, e.g.:
Here's what Monokai looks like as a reference:
So the JS fixes are present in Develop or also in Master? Cause I just pulled the latest master into ST3 and JS still looks bad.
@Fossil01 this theme support only the syntax-system used from build 3085+
Ah that looks much better :-) One more question. The sidebar divider is gone, it now blends into the editor field. Can I add that back in? Same goes for statusbar/searchbar.
@Fossil01 The sidebar separator never existed :dango:
Hm... I guess c++ is still broken, And I guess it is related... Issue #444 (even though it is closed) is not resolved.
UPD: will provide a snippet if needed
@niosus #444 is closed becase is related to this "issue". And to fix this you have to update ST.
I just took the latest master with Python fixes for a spin and noticed a few things that seem off:
support.type.python
is still not highlighted unless it's a function call likeint(1)
meta.function-call.arguments.python
is highlighted the same as strings which seems wrong (the variable names are green)keyword.operator.logical.python
(or
,not
) andsupport.function.builtin.python
) (isinstance
,issubclass
) intentional? (just wondering)Here's Tomorrow 80s:
Here's github:
Thanks!