Skip to content

Commit 90b5969

Browse files
committed
This week's meeting minutes
1 parent 1c907a5 commit 90b5969

File tree

1 file changed

+182
-0
lines changed

1 file changed

+182
-0
lines changed

minutes/meeting notes 2017-09-11.md

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
# September 11th 2017
2+
3+
Proactive week: RLS clients, irc meeting in #rust-dev-tools
4+
5+
## Notes
6+
7+
* RLS is basically 'done' for now, feature-wise
8+
- current effort mostly around more complex project configurations, e.g., Cargo workspaces
9+
- and stability/bug fixing
10+
- aiming for 1.0 around the new year
11+
- big internals improvements from compiler after that
12+
* VSCode extension is looking good!
13+
* Good time to focus on wider editor support
14+
- Some support already for Atom and NeoVim - kinda active
15+
- beginnings of things for emacs
16+
- xi: work hasn't seriously started yet (i think there may be an initial prototype) but would like to later this fall
17+
* Vim is most popular editor in Rust world, followed by VSCode, Sublime, Atom, Emacs (these three roughly equal shares)
18+
* In wider world Visual Studio is most popular
19+
- https://insights.stackoverflow.com/survey/2017#technology-most-popular-developer-environments-by-occupation
20+
- Potential for recruiting users
21+
- Necessary for being a serious Windows platform
22+
- However, no LSP client implementation, so harder work (but still do-able)
23+
* Some discussion of useful things in the RLS, see action items below.
24+
25+
26+
## Action items
27+
28+
* Improve documentation (nrc)
29+
- config options
30+
- LSP coverage (i.e., which parts we use)
31+
32+
* Website (nrc)
33+
- finish
34+
- where to host?
35+
36+
* For impl period
37+
- issues for editor implementations (nrc)
38+
- write-up of what needs doing for Visual Studio (jntrnr)
39+
40+
41+
## Follow-up
42+
43+
Atom announced atom-ide - first-class LSP support in Atom: https://blog.atom.io/2017/09/12/announcing-atom-ide.html
44+
45+
rovar missed the meeting, but has done some work using RLS with Vim8: https://github.com/rrichardson/rustlangserver.github.io/blob/vim8/files/install_vim_rls.sh
46+
47+
48+
## IRC log
49+
50+
```
51+
8:02 AM <•nrc> hello!
52+
8:03 AM <•nrc> today we are talking RLS clients (in irc)
53+
8:03 AM <•nrc> the agenda is here: https://public.etherpad-mozilla.org/p/rust-dev-tools
54+
8:03 AM <•nrc> I'll just give people another couple of minutes before starting...
55+
8:03 AM <jntrnr> k
56+
8:05 AM <vlad20012_> o/
57+
8:05 AM <matklad> btw, vlad20012_ now also works on IntelliJ Rust :)
58+
8:05 AM <jntrnr> cool :)
59+
8:06 AM <•nrc> hi vlad20012_ !
60+
8:06 AM <•nrc> OK, so
61+
8:07 AM <•nrc> today I want to go over the current status of the RLS quickly, talk about prioritisation of work for new RLS clients, and get a handle on what work on clients is underway and what is blocked on what
62+
8:08 AM <•nrc> If anyone working on clients wants to bring something up, pop it on the agenda - we should have time for extra stuff, if not I can stick around to discuss after the meeting
63+
8:09 AM <•nrc> to start with, very quickly, the RLS is (I think) in a pretty good place - it's use of the LSP is pretty stable, most core features are implemented, and it is fairly stable (i.e., doesn't crash too much)
64+
8:09 AM <jntrnr> did it make it onto the train?
65+
8:09 AM <•nrc> information is till imperfect - a lot of that is bugs in the save-analysis layer of the compiler
66+
8:10 AM <•nrc> jntrnr: yes, although we are not quite installable on beta yet
67+
8:10 AM <•nrc> ^ this means we should be able to use the RLS with stable in 5 weeks time
68+
8:10 AM <•nrc> the biggest remaining feature is workspace support
69+
8:11 AM <•nrc> that brings with it some more stability for projects which are a bit more complicated than a single bin or library (which is where we currently have the most problems)
70+
8:11 AM → llogiq joined ([email protected])
71+
8:11 AM <•nrc> the reference client is also working pretty well - still some bugs, but pretty well
72+
8:11 AM <jntrnr> this is the vscode plugin?
73+
8:11 AM <•nrc> so, I think it is a good time to be thinking about other clients
74+
8:11 AM <•nrc> yes
75+
8:12 AM → vlad20012_ joined ([email protected])
76+
8:13 AM <•nrc> hopefully we'll have a 1.0 release of both the RLS and reference client (VSCode) early in the new year
77+
8:13 AM <•nrc> anyone have questions/comments about the RLS status?
78+
8:14 AM <raph_rc> comment: yay!
79+
8:14 AM <jntrnr> yeah, one question - do we have a sense from the compiler team when the frontend work will land that will let us drive more straight from the compiler?
80+
8:15 AM <•nrc> around the end of the year
81+
8:15 AM <•nrc> so, to expand on that
82+
8:15 AM <•nrc> there are some big changes to the compiler that will improve RLS latency and hopefully make it useful with large projects
83+
8:15 AM <•nrc> incremental compilation to type checking and demand-driven compilation
84+
8:16 AM <•nrc> they should also allow us to do compiler-driven code completion, which should be more complete
85+
8:16 AM <•nrc> however, there are some big changes to take advantage of this
86+
8:16 AM <•nrc> so it is going to be a post-1.0 thing
87+
8:17 AM <•nrc> ok, other editors
88+
8:17 AM <•nrc> there is a tracking issue here: https://github.com/rust-lang-nursery/rls/issues/87
89+
8:18 AM <•nrc> Gnome Builder seems to be the most actively developed extension atm
90+
8:18 AM <•nrc> see this comment https://internals.rust-lang.org/t/interested-in-editor-support-for-the-rls/5873/4?u=nrc
91+
8:19 AM <raph_rc> i'd like to see xi added to the client list, even though work has barely started
92+
8:19 AM <jntrnr> Christian is also very responsive. If we have questions and want to reach out to him for comment about working with RLS, etc
93+
8:20 AM <raph_rc> i found the proof-of-concept impl here: https://github.com/google/xi-editor/issues/160#issuecomment-294995411
94+
8:20 AM <•nrc> added :-)
95+
8:21 AM <•nrc> Otherwise, Atom and NeoVim have plugins and are somewhat active
96+
8:22 AM <•nrc> Anyone know of other work going on?
97+
8:22 AM <•nrc> oh emacs too
98+
8:22 AM <jntrnr> is emacs active?
99+
8:22 AM <•nrc> it does not seem active
100+
8:22 AM <•nrc> https://github.com/emacs-lsp/lsp-rust
101+
8:23 AM <jntrnr> unfortunate
102+
8:23 AM <bkchr> I use rls with emacs
103+
8:23 AM <•nrc> although it has had a couple of PRs recently
104+
8:23 AM <•nrc> ah from bkchr :-)
105+
8:23 AM <•nrc> bkchr: how is support?
106+
8:24 AM <bkchr> it is "okay". Most things work
107+
8:25 AM <bkchr> Currently there are some bugs with parsing the message headers
108+
8:26 AM <bkchr> I use spacemacs with the following layer: https://github.com/bkchr/rustrls/tree/my_branch
109+
8:27 AM <•nrc> you use that and the RLS/LSP support? Do they conflict?
110+
8:28 AM <bkchr> No, that layers uses the lsp-mode ^^
111+
8:28 AM <bkchr> It is just an integration of the lsp-mode
112+
8:28 AM <bkchr> With shortcuts etc
113+
8:28 AM <•nrc> ah, ok
114+
8:28 AM <•nrc> is the lsp-mode just in your branch, or upstream too?
115+
8:29 AM <bkchr> just my branch.
116+
8:30 AM <bkchr> for upstream it is not stable enough, in my own opinion^^
117+
8:30 AM <bkchr> Currently I'm using it daily
118+
8:30 AM <•nrc> because of the bugs parsing message headers?
119+
8:31 AM <bkchr> yeah and the overall quality of rls :D
120+
8:31 AM <bkchr> https://github.com/rust-lang-nursery/rls/issues/470 this one for example
121+
8:34 AM <•nrc> so, that leads pretty well into my big open question - what we can do on the RLS side to help client devs?
122+
8:35 AM <•nrc> that kind of issue (470, etc - stability with different build setups) is high priority for me, once we riding the trains properly
123+
8:36 AM <bkchr> Hmm good question, maybe good documentation for the options for example?
124+
8:36 AM <llogiq> I think making it as easy as possible to set up (and keep up to date) with various editors/IDEs is the way to bring in more testers.
125+
8:36 AM <jntrnr> nrc: I want to talk about this, but I think we also skipped the bullet between them
126+
8:37 AM <•nrc> jntrnr: the stackoverflow link?
127+
8:37 AM <jntrnr> basically that that Visual Studio, vim, and Sublime need some level of support
128+
8:37 AM <jntrnr> but it seems like currently we don't have that
129+
8:37 AM <jntrnr> (I didn't really phrase the bullet well)
130+
8:38 AM <•nrc> llogiq: do you have suggestions for how to do that? Beyond better docs?
131+
8:38 AM <•nrc> jntrnr: ok, yeah, I didn't get that :-) lets come back to that in a sec - it meshes with prioritisation
132+
8:38 AM <jntrnr> kk
133+
8:39 AM <•nrc> bkchr: by options to do you mean the specific configuration options?
134+
8:39 AM <bkchr> nrc: yeah
135+
8:39 AM <bkchr> nrc: I know where to look in the code, but for others it is maybe more complicated
136+
8:41 AM <llogiq> nrc: better docs, perhaps install scripts per editor/distribution/OS combination, advertising the possible options via blogs, etc.
137+
8:43 AM <•nrc> good ideas!
138+
8:44 AM <jntrnr> nrc: have we talked about the rls website?
139+
8:44 AM <•nrc> raph_rc: anything you think that would help you later with RLS support?
140+
8:44 AM <•nrc> ah, yes, booyaa[ has been working on a website for the RLS
141+
8:45 AM <•nrc> it covers a few of the clients
142+
8:45 AM <•nrc> https://github.com/rust-lang-nursery/rls/issues/261
143+
8:46 AM <•nrc> it is pretty great! We need to figure out where to put it online and then advertise it a bit
144+
8:46 AM <jntrnr> you can play with it here: http://rls.booyaa.wtf/
145+
8:46 AM <jntrnr> not sure if 100% up to date but you get the idea
146+
8:46 AM <raph_rc> nrc: i'm not aware of anything right now, but am happy to provide feedback as it comes up
147+
8:46 AM <•nrc> raph_rc: thanks!
148+
8:46 AM <raph_rc> we're in the fortunate place where we can make design decisions in xi to support rls
149+
8:49 AM <•nrc> OK, so in terms of moving forward
150+
8:49 AM <•nrc> we have the impl period coming up
151+
8:49 AM <•nrc> which is meant to be a few months where the Rust community is very implementation-focussed
152+
8:49 AM <•nrc> and a good time for getting new contributors involved and people working on new things
153+
8:50 AM <•nrc> which seems like a good time to try and move the needle a bit on clients
154+
8:50 AM <•nrc> I wonder how many clients we should focus on?
155+
8:51 AM <•nrc> and how to pick the clients
156+
8:51 AM <jntrnr> I think finishing what we have is important
157+
8:51 AM <•nrc> as jntrnr pointed out above, the stackoverflow survey showed VS, Vim and Sublime to be basically the most popular
158+
8:52 AM <jntrnr> and also three we don't have good support for
159+
8:52 AM <•nrc> but none of those have extensions started
160+
8:52 AM <jntrnr> right
161+
8:52 AM <jntrnr> just one data point: VS had 66% of the stackoverflow survey, but only 1.5% of the Rust survey
162+
8:52 AM <•nrc> so, I'm not sure how much weight to give new clients, vs pushing on existing ones
163+
8:52 AM <jntrnr> that's a *ton* of potential new developers getting onboard
164+
8:53 AM <mw> does VS integrate with the LSP?
165+
8:53 AM <jntrnr> no
166+
8:53 AM <jntrnr> I tried to ask around to see if they'll ever do that but didn't get any straight answers
167+
8:53 AM <•nrc> ah, so that would be a lot of work then?
168+
8:54 AM <jntrnr> no more than a normal plugin
169+
8:55 AM <•nrc> I guess you'd only have to implement the parts of the LSP you need, which is I think is like 50%
170+
8:56 AM <raph_rc> nrc: so _that_ would be helpful, if there is only a fragment of the LSP that's need, documenting what that is
171+
8:56 AM <raph_rc> obviously not as important for clients (like vs code) that already implement ~all of it
172+
8:56 AM <•nrc> OK, I can def add that
173+
8:57 AM <raph_rc> i imagine it might be a moving targets, more coverage as more features get added
174+
9:03 AM <•nrc> sorry, internet cut out
175+
9:03 AM <•nrc> it is moving, but not that quickly - we're more using existing parts and adding custom extensions, rather than using more of the existing parts
176+
9:04 AM <•nrc> tools team - is anyone interested in getting more involved with RLS clients? Either implementation or coordination (testing, tracking status, etc.)
177+
9:06 AM <•nrc> jntrnr: would you be able to write up some info about VS? If someone is interested, where to find info on VS extensions and the RLS, what language they'd be using, etc.?
178+
9:06 AM <jntrnr> jntrnr: I wish I had the information. I never worked on that side myself
179+
9:06 AM <jntrnr> but I could try to dig around and find it
180+
9:08 AM <•nrc> that would be great, thanks! Doesn't need to be super-details, just so someone can see whether they'd like to get involved
181+
9:09 AM <•nrc> OK, we're already a bit overtime, thanks everyone!
182+
```

0 commit comments

Comments
 (0)