Hello

I'm willing to help on this task, I think having a good completion library
can help a lot smoothing the learning curve of a new language. I learned
python in a few days with aptana, and I remember a few years ago how it was
easy to write C++ with visual studio. Having an IDE integration is almost
as important as having good tutorials.

I'm also a newbe in Rust and I imagine you want to write in rust itself. I
can help on the integration with sublime.

-----
Gaetan



2013/11/19 Gokcehan Kara <[email protected]>

> Hello folks,
>
> I have been thinking of working on an editor agnostic code helper library
> with an autocomplete engine for rust (since there isn't anything yet?) as a
> hobby project to get to know the internals of the compiler. Examples of
> similar projects in different languages include;
>
> - [youcompleteme](https://github.com/Valloric/YouCompleteMe)
> (C/C++/Objective-C/Objective-C++) (this one is specific to vim and a more
> general solution to autocompletion in vim but it includes a clang based
> completion engine for c family languages)
> - [merlin](https://github.com/def-lkb/merlin) (ocaml) (haven't actually
> used this but since we have many ocaml people I'm guessing some people
> might have)
> - [gocode](https://github.com/nsf/gocode) (go)
> - [jedi](https://github.com/davidhalter/jedi) (python)
>
> I have already started playing with the code but couldn't make much
> progress. What I had in mind was;
>
> 1) Implement a type under cursor functionality
> 2) Implement autocompletion functionality (i.e by looking up the methods
> and members of the type under cursor)
> 3) Wrap the whole thing with a server-client architecture (only if
> performance suffers too much otherwise)
> 4) Work on the bindings for my editor of choice as the showcase and ask
> the community for others
>
> Unfortunately I'm still at step 1. I have managed to parse a file until
> typecheck using `phase_3_run_analysis_passes` which gave me a
> `CrateAnalysis` including presumably the type context in `ty::ctxt`. From
> there I have only checked two things so far, (1) `items: ast_map::map`
> which is basically a map from `NodeId` to the enum `ast_node` and (2)
> `node_types: node_type_table` which is similarly a map from `uint` to `t`.
>
> `t` seems to represent types which is what I was looking for although I
> couldn't find anything related to type names so far. I have found a few
> id's instead that I have yet to comprehend which then made me think that it
> might be the case that types themselves might be stored only with an id
> instead of a name. If this is the case, it may still be possible to work on
> autocomplete functionality by skipping type under cursor functionality. Any
> insight?
>
> Some more general questions are;
>
> - How feasible is this project with the current state of the compiler?
> - How difficult would it be for a newbie (to both rustc and compilers)?
> - Shall I open an issue for this?
>
> Thanks,
> Gokcehan
>
> _______________________________________________
> Rust-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/rust-dev
>
>
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to