Sublime Forum

(osx|windows|linux) Color Scheme Editor (BETA)

#15

0.0.2 for OSX only (found some other stuff that needed work and didn’t have time to update windows)

-All events now update the theme file proper
-Fix color picker related issues
-Allow removal of a background or foreground color
-Fix issue where missing scope would cause the editor to fail
-Fix app title
-logging added
-debug mode added
-included settings file
-some internal changes

Replace all your files with the new 0.0.2

If you have the editor crash, there should be a subclrschm log file in you user folder.

I will update windows tomorrow.

0 Likes

#16

Thank you very much for this tool!! It works perfectly now!

0 Likes

#17

This is awesome! Thanks for building this.

0 Likes

#18

@n00ge @FaFiNoS, glad you like it. I had this floating in my head for a while.

0 Likes

#19

Windows version 0.0.2 is now available.

Linux is still coming along, mainly, I am trying to get my linux setup using wxgtk2.9…linux…sigh. Either that, or I need to make the editor work also with wxgtk2.8. The good news is that it half works…the bad news is that it half doesn’t. Once I get this working on Ubuntu, I have no idea if it will work on the latest Ubuntu. Oh linux…you frustrate me so. And I used linux exclusively for like 5 years; I just finally got tired of having to compile all my crap when it just wasn’t there, or to fix some new issue or driver on a simple update…it wears on you after a while. Don’t even know if the 32bit version can run on the 64bit version of linux either…

Anyways, I believe the Color Scheme Editor is 100% functional now, and relatively bug free…but report them if you find them (include the log). I do have some additional features I want to add when I have time, but for now, just let me know what you think and let me know if find issues.

0 Likes

#20

Ideas for future enhancements:

  • Run as standalone program and prompt for color-scheme file

  • Run as a package from non-User directory

This is an excellent complement to ST. Well done.
Have some confidence; skip the 0.0.x versions and jump to 1.0.0!

0 Likes

#21

@grant, it should already do the first, try it.

As for the second, I plan on it. It is pretty easy to do, I am just in development mode and will make it a package as soon as it is stable.

0 Likes

#22

Great minds think alike (and I should also try things before opening my big mouth).

0 Likes

#23

Moving forward, I plan on making it more robust. When just opened normal, I plan on asking if the user wants to open a theme file, or create a new one. I want to change the open file dialog to accept “tmTheme.JSON” files as well (it already supports them via the -j command line option; probably just change it to look at the extension instead of requiring the user to specify open mode). Maybe add a search option. Maybe add a way to “save as”.

From a plugin standpoint, I plan on allowing you to open a theme via the open dialog (it will still be direct edit, which is why a “save as” option would be nice), and possibly create a new theme also from sublime.

…oh and try and get linux running :frowning:.

Probably need an icon for the editor…

Haven’t decided how to distribute it yet. I know the Mac binary is 30MB and the windows is only 10MB, not sure about linux yet. Because I may not want to require a user to update 40+MB every time the plugin updates, I may provide the plugin without binaries, and you install or download the editor somewhere and point the plugin at it. The plugin could check the version to tell if you need to update it (after initial development is done, I hope not to be updating it a bunch).

Chime in if you have any ideas.

0 Likes

#24

Let me know if I can help with testing. I have one of each running Ubuntu 12.04. Sublime 3 only, I’m afraid.

I’m just about fed up with linux, as well – at least, that’s what I say under my breath in between cursing when I can’t get things to work. But it only takes me a few minutes on another OS before I have to ask: “What do you mean I can’t change this?” But then, customization is a sign of immaturity, I’m almost certain. Sigh.

Alex

Edit: slightly less crappy sentence.

0 Likes

#25

0.0.3 for OSX and Windows is now available.

Please read opening page for more details and for links as things have changed. Delete color_scheme_editor.py from you user folder. Install plugin from github, and then select your platform and download the binary to your user folder (if you wish to put it elsewhere, that can be configured in the plugin).

Changes:
Plugin
-Can now create a new theme via the command palette
-Can access the filepicker for the editor via the command palette
-Interlock check for version between plugin and binary

Binary
-Fix a bug were the tables weren’t getting updated when the global background and foreground settings got changed
-If launched standalone, asks if you want to open an existing theme or create a new one
-If given a .tmtheme file or json file, the editor will now take appropriate action on its own.

Note:
OSX seems to hate the wildcards for the filepicker. The wildcards work fine in windows, but weird in OSX…I will have to resolve that at a later date.

0 Likes

#26

I should have OSX wildcard stuff in filepicker dialogs sorted out in next update. Turns out “.JSON" works, but ".tmTheme.JSON” does not. It seems to only respect the very end. This is fine though, in OSX I will simply let the user pick a JSON, and if it is not a “*.tmTheme.JSON” I will make them pick again until they get it right :smile:.

0 Likes

#27

I’d love to have a way to load undefined scopes into the theme editor when editing a theme for a particular language. Sometimes I hop into a different language and see elements that would nice to have some different highlighting. This would be a great way to get into that. Feel free to mark this down as a feature request for down the line if it’s a pain in the ass.

Or… if there’s a way to place your cursor somewhere, get the scope and either jump to that scope in your current color scheme or add it if it doesn’t exist might be better.

0 Likes

#28

ScopeHunter is a plugin I wrote that you can configure to put the scope of what is under the cursor into your clipboard (it also can show you a lot of other stuff, but you configure it how you want it to work). So you can use that to quickly get the scope into your clipboard, then you can open up the scheme editor.

The tool and the plugin don’t really communicate right now, so simply sending the editor process something to search for isn’t possible at this time. I do plan on adding a search option, and who knows, maybe I will implement some kind of communication between the plugin and the editor down the road. I might also implement importing undefined scopes into a theme at a later date as well. I just have to wait till I have time to explore more options. Right now I just want to get the basic stuff down, and get it to a stable release.

0 Likes

#29

Probably sometime tomorrow, I will probably post 0.0.4. This will add “save as” functionality, fix OSX wildcard file dialog issue, add file name in title bar, search etc.


0 Likes

#30

@facelessuser

You considered embedding pure python tornado 3.0 as a websocket server for (browser <–> sublime) communications ?

Angular JS / CoffeeScript / LiveReload etc make html5 pretty damn sweet these days :smile:

re: scope hunting

Back in the day I was trying to hunt down a bug in the CSS grammar, and much to my confusion, multiple rules were applying the same scope name.

This led me to create a grammar generator that would create a unique id, patching the scope names with bla.do.dont.#0F3A4 etc

That way you can easily *regexes-applied

I say this, as creating color schemes is much the same task as a creating grammar at times.

0 Likes

#31

[quote=“castles_made_of_sand”]You considered embedding pure python tornado 3.0 as a websocket server for (browser <–> sublime) communications ?

Angular JS / CoffeeScript / LiveReload etc make html5 pretty damn sweet these days [/quote]

I don’t do a lot of web type programming. Any web programming I do is hobby stuff, so I am not often not up on the latest web based programming packages etc. With that said, the idea of having sublime plugins communicate outside itself with sockets and/or pipes as been something I have been thinking about. I think html5 is a logical jump for people doing a lot of html coding, but it doesn’t always occur to me since I do very little to no web based programming during my day to day. I will probably take a look into it though, Tornado looks pretty cool.

Yeah, I discovered the same thing when doing the ExportHtml plugin. Background, foreground, fontStyle have to all be evaluated separately. If a rule doesn’t explicitly define all three, they inherit from the rule that is a closest match that does define the missing attribute, defaulting to either the default background, foreground colors (as applicable) if none are found. In some ways it makes sense, but in other ways it is confusing.

0 Likes

#32

Having used both kits I would say, even to my own surprise, I’d actually prefer to use Angular/Coffee over PyQt.

Definitely worth learning some nodejs, cause a lot of the front end guys make their tools using it. See grunt/karma etc

Front end is actually quite pleasant these days. Give it some weekends :smile:

0 Likes

#33

I have already written some stuff in node.js, but again, not really a web guy, but I like to play with it. Python is a very valuable skill in my field, where as node.js is only nice if you are a front end tool guy. Though I do my own tools, I am not a tool guy really.

0 Likes

#34

You do embedded stuff if I recall correctly?

What do you use python for? other than ST plugins of course :smile:

0 Likes