Thanks, I didn’t realise we could submit pull requests; I’ll keep that in mind for the future 
Dev Build 3118
@jps while you’re on these definition related functionality, please take a look at this issue:
Long story short, if you have same method defined in multiple files, go to definition should display current file first in the dropdown.
Thanks!
Color Schemes: popupCss will be generated automatically if not present
Can anyone clarify this? what CSS is generated exactly? just background and foreground is used? what are the generated classnames
The phantoms are pretty awesome. 3 remarks though:
- It’s a bit unexpected that hitting [x] on a phantom closes all of them in all files, with no (apparent) way to bring them back.
- The [x] it a bit rough visually, couldn’t we get a nice icon in there? I think you could even get away with having no [x] at all and just close on click.
- Is there a css selector I can use in my theme to set a phantom off from the source code (like tweak the background)?
It looks like Christmas is earlier than usual this year !
Phantoms are pretty cool, but that raises other feature requests 
In python the error-message phantom looks like:
do = da + 2
di = do + 3
File "~/foo.py", line 2 [X]
The thing is I don’t really care about the file name and the line because the phantom is already in the good place.
I’m much more interested in the error message and the details:
di = do + 3
^
IndentationError: unexpected indent
I made a more detailed post in the “API suggestion thread”: API Suggestions
in the color scheme you can:
<key>popupCss</key>
<string><
body = """\n <style>\n body {\n background-color: #f1f1f1;\n}\n span {\n color: #aaaaaa;\n }\n </style>\n <span>ball</span> """
view.add_phantom("test", view.sel()[0], body, sublime.LAYOUT_INLINE)
They are not saved to disk anywhere, just stored in memory. They are not generated if the color scheme defines its own popupCss.
Small bug.
In symbol.py, this line:
symbol_begin_pt = view.text_point(l[2][0] - 1, l[2][1])
must be:
symbol_begin_pt = view.text_point(l[2][0] - 1, l[2][1] - 1)
In addition, this is a Gist with a modified symbol.py to propose active file items first and an other item than the current one by default.
Maybe this can be integrated in standard ST3 (only tested on Windows).
