These are chat archives for ensime/ensime-sublime

17th
Jul 2015
Matt Hughes
@matthughes
Jul 17 2015 01:21
So, I also use the gen-sublime SBT plugin. Should I not be? That plugin pulls in all the source for any external libraries. But at least by default, Ensime looks like it is trying to compile those external libraries’ source.
Matt Hughes
@matthughes
Jul 17 2015 01:46
command-click still not working for me. Nothing showing up in the console. Looking at sublime-mousemap, there is nothing in there for the default settings. I added this for the user settings and it kind of works:
[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["command"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]
But that isn’t using Ensime’s goto_definition. Just Sublime’s token matching stuff.
Ooh, this works:
[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["command"],
        "press_command": "drag_select",
        "command": "ensime_go_to_definition"
    }
]
Also added this to make type info show up any time I click on something:
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": [],
        "press_command": "drag_select",
        "command": "ensime_inspect_type_at_point"
    }
Pretty nice.
Rory Graves
@rorygraves
Jul 17 2015 05:30
@dickwall PR Merged - keep them coming :smile:
@matthughes Interesting ctrl/cmd click is appears to work for me some cases (except for the error above) - we have class EnsimeCtrlClick(EnsimePreciseMouseCommand): to support it
Rory Graves
@rorygraves
Jul 17 2015 05:39
Will have a play around and try and find the docs - - I see this { "button": "button1", "count": 1, "modifiers": ["ctrl"], "press_command": "ensime_ctrl_click", "press_args": {"command": "drag_select", "args": {"additive": true}} }, in the default mappings
Dick Wall
@dickwall
Jul 17 2015 15:51
yeah - Rory I was looking at the go to definition bug you listed. It seems flaky. I did have it happen in a library, but then I was clicking around other libs afterwards and it worked beautifully. Might be some other reason, like maybe missing sources?
i.e. for some libs but not others
those mouse modifiers work beautifully, as does sbt support in sublime
I may have finally made the switch :-)
scala looks damn good in the bittersweet color scheme too :-)
Rory Graves
@rorygraves
Jul 17 2015 16:00
The specific example I had is definately a bug. We changed the valid forms when we updated the server at some point. Missing sources will not return a source pos (might trigger a different bug ;) )
You mean @matthughes mouse modifilers or the existing ones?
Awesome that is good enough for you to actualy use - now if we get the semantic highlighting working you would probably fall off your chair in amazement.
Dick Wall
@dickwall
Jul 17 2015 16:02
matt's ones - they work great :-)
Rory Graves
@rorygraves
Jul 17 2015 16:02
Cool we should add them to the defaults.
btw, we have very few keybinds if you have thoughts on that let me know
Dick Wall
@dickwall
Jul 17 2015 16:06
yeah - going to think about thjat
I am sort of on this today, doing jobs around the house but not billing, hope to sit down and polish the environment a bit this afternoon
it's great to have it properly working, and to have fixed something
I did a quick sweep for other uses of keys() (which changed with python 3000 to not clone), and didn't see any others
so I think that was the one
Rory Graves
@rorygraves
Jul 17 2015 16:08
Its awesome - I think there are a few things I missed from the old ST3 port - will try and get them in over the weekend
btw, keep an eye on the console for stacktraces
Dick Wall
@dickwall
Jul 17 2015 16:08
yeah - so far just running the server separately has been super-reliable, but it would be good to get it starting up automatically
also have you put any thought into having two projects open in ensime at once (not multi-module, but separate building projects). Does anyone do that in ensime
it's not a deal-breaker, but it is something that I tend to do more often than you might think :-)
yeah - I keep the console up all the time
would have to run two servers on different ports I am assuming
Rory Graves
@rorygraves
Jul 17 2015 16:10
yeah, got a bit distracted by bits and pieces, its my next big task (the startup thing).
Hmm, I know that @fommil does this, but it probably runs 2 ensime instances and thus you don't get cross dependency or anything.
Dick Wall
@dickwall
Jul 17 2015 16:10
oh yeah - here we go
warning: mnemonic r not found in menu caption Ruby
no idea what those are
there's a lot of other crap coming up in there I need to track down, a lot of warnings about r in ruby or something - looks like bad keybindings from a plugin
gitter is grumpy today and taking ages to send some
I am going to restart it
Rory Graves
@rorygraves
Jul 17 2015 16:12
;)
yeah, that doesn't sound Ensime related....
yeah it just lost an update - I said that that error doesn't sound Ensime related.
and there is the original update - out of order.
Dick Wall
@dickwall
Jul 17 2015 16:12
sorry - my messages seem to be coming up out of order
Sam Halliday
@fommil
Jul 17 2015 16:14
yeah in emacs we cache the classpath so we don't need to run sbt so much. It means that the server can potentially get a bit out of date, so we force a refresh when the client code is newer than the cache.
Dick Wall
@dickwall
Jul 17 2015 16:20
oh no - that's a sublime thing, I just need to figure out where those are coming from. They are flooding the console
makes it hard to pick out the good stuff
the combination of ensime and continuous testing in sbt is pretty sweet
ah - looks like those mnemonic warnings are sublimeREPL if anyone else hits them. Shame - that's a great scala demo plugin. Gotta go for now though
Dick Wall
@dickwall
Jul 17 2015 22:41
fixed another one, breakpoints can now be set, however I am still trying to puzzle out exactly how you are supposed to debug, particularly debug a test
it's a fairly obtuse user experience :-)