Giter VIP home page Giter VIP logo

languageserver-rust's Introduction

languageserver-rust package

Adds support for the Rust Language Server to Atom.

Caveat lector: This package is still in development! It might not work in some places and there's probably a lot of missing functionality! Please keep that in mind if you decide to try it out!

Setting up

Install RLS

The recommended way to install RLS is with rustup. Please follow these steps to install RLS to your system.

If RLS is not installed when you install this extension, the extension will show an error and not activate. You need to restart Atom after installing RLS for the extension to recognize it.

Install Nuclide

languageserver-rust depends on Nuclide for a lot of its functionality. You should install Nuclide for the best experience.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

languageserver-rust's People

Contributors

aergonaut avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

languageserver-rust's Issues

Cannot install on Windows, Atom 1.17.0

Installing “[email protected]” failed.Hide output…

> [email protected] postinstall C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\node_modules\languageserver-rust\node_modules\atom-languageclient
> postinstall-build --only-as-dependency build "npm run compile"


> [email protected] postinstall C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\node_modules\languageserver-rust\node_modules\atom-languageclient
> postinstall-build --only-as-dependency build "npm run compile"


> [email protected] prepublish C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\node_modules\languageserver-rust\node_modules\atom-languageclient
> npm run clean && npm run compile


> [email protected] clean C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\node_modules\languageserver-rust\node_modules\atom-languageclient
> rm -rf build


(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:26444) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
npm WARN deprecated [email protected]: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130
npm WARN deprecated [email protected]: Use uuid module instead
'rm' is not recognized as an internal or external command,
operable program or batch file.

npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Users\\vaski\\AppData\\Local\\atom\\app-1.17.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\vaski\\AppData\\Local\\atom\\app-1.17.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "run" "clean"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.5
npm ERR! code ELIFECYCLE
npm ERR! [email protected] clean: `rm -rf build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] clean script 'rm -rf build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the atom-languageclient package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     rm -rf build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs atom-languageclient
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls atom-languageclient
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\node_modules\languageserver-rust\node_modules\atom-languageclient\npm-debug.log

npm WARN optional Skipping failed optional dependency /babel-cli/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Users\\vaski\\AppData\\Local\\atom\\app-1.17.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\vaski\\AppData\\Local\\atom\\app-1.17.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "install" "--only=dev"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.5
npm ERR! code ELIFECYCLE
npm ERR! [email protected] prepublish: `npm run clean && npm run compile`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] prepublish script 'npm run clean && npm run compile'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the atom-languageclient package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run clean && npm run compile
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs atom-languageclient
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls atom-languageclient
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\node_modules\languageserver-rust\node_modules\atom-languageclient\npm-debug.log
{ Error: Command failed: C:\WINDOWS\system32\cmd.exe /d /s /c ""C:\Users\vaski\AppData\Local\atom\app-1.17.0\resources\app\apm\bin\node.exe" "C:\Users\vaski\AppData\Local\atom\app-1.17.0\resources\app\apm\node_modules\npm\bin\npm-cli.js" install --only=dev"

    at ChildProcess.<anonymous> (C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\node_modules\languageserver-rust\node_modules\postinstall-build\index.js:53:13)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:877:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
  killed: false,
  code: 1,
  signal: null,
  cmd: 'C:\\WINDOWS\\system32\\cmd.exe /d /s /c ""C:\\Users\\vaski\\AppData\\Local\\atom\\app-1.17.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\vaski\\AppData\\Local\\atom\\app-1.17.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" install --only=dev"' }
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\package.json'
npm WARN apm-install-dir-117420-12016-q767yk.5ik0muz0k9 No description
npm WARN apm-install-dir-117420-12016-q767yk.5ik0muz0k9 No repository field.
npm WARN apm-install-dir-117420-12016-q767yk.5ik0muz0k9 No README data
npm WARN apm-install-dir-117420-12016-q767yk.5ik0muz0k9 No license field.
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Users\\vaski\\AppData\\Local\\atom\\app-1.17.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\vaski\\AppData\\Local\\atom\\app-1.17.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\Users\\vaski\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\vaski\\.atom\\.apmrc" "install" "C:\\Users\\vaski\\AppData\\Local\\Temp\\d-117420-12016-1e5boc9.32hrwtrzfr\\package.tgz" "--runtime=electron" "--target=1.3.15" "--arch=x64" "--global-style"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.5
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `postinstall-build --only-as-dependency build "npm run compile"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'postinstall-build --only-as-dependency build "npm run compile"'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the atom-languageclient package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     postinstall-build --only-as-dependency build "npm run compile"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs atom-languageclient
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls atom-languageclient
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\vaski\AppData\Local\Temp\apm-install-dir-117420-12016-q767yk.5ik0muz0k9\npm-debug.log

Nuclide server

Is this expected to work for remote projects over Nuclide server?

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because we are using your CI build statuses to figure out when to notify you about breaking changes.

Since we did not receive a CI status on the greenkeeper/initial branch, we assume that you still need to configure it.

If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you don’t want it to run on every branch, you can whitelist branches starting with greenkeeper/.

We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

Once you have installed CI on this repository, you’ll need to re-trigger Greenkeeper’s initial Pull Request. To do this, please delete the greenkeeper/initial branch in this repository, and then remove and re-add this repository to the Greenkeeper integration’s white list on Github. You'll find this list on your repo or organiszation’s settings page, under Installed GitHub Apps.

Problems with the package

Hi!

I've installed package (include the nuclide). RLS doesn't appear to be functioning. I've also tried installing the atom-languageclient package incase this was missed out as part of the instructions.

I've got a working version of RLS because I'm also testing vscode and neovim.

I'm not really familiar with atom, so I appreciate there maybe some key strokes to trigger language server functionality. I did expect to see some indicator that the RLS was analysing the code and the ability to hover over definitions.

Is there any logging I can example to diagnose why it's not work?

Thanks!

Uncaught Error: Connection is closed.

Steps to reproduce

  1. Install under Windows WITHOUT Nuclide - do not restart
  2. Type
  3. Error thrown

Atom: 1.18.0 x64
Electron: 1.3.15
OS: Microsoft Windows 10 Home
Thrown From: languageserver-rust package 0.3.0

Stack Trace

Uncaught Error: Connection is closed.

At C:\Users\caelm_000\.atom\packages\languageserver-rust\node_modules\vscode-jsonrpc\lib\main.js:604

Error: Connection is closed.
    at ConnectionError.Error (native)
    at /packages/languageserver-rust/node_modules/vscode-jsonrpc/lib/main.js:129:28)
    at throwIfClosedOrDisposed (/packages/languageserver-rust/node_modules/vscode-jsonrpc/lib/main.js:604:19)
    at Object.sendNotification (/packages/languageserver-rust/node_modules/vscode-jsonrpc/lib/main.js:658:13)
    at LanguageClientConnection._sendNotification (/packages/languageserver-rust/node_modules/atom-languageclient/build/lib/languageclient.js:233:15)
    at LanguageClientConnection.didChangeTextDocument (/packages/languageserver-rust/node_modules/atom-languageclient/build/lib/languageclient.js:126:10)
    at TextEditorSyncAdapter.sendIncrementalChanges (/packages/languageserver-rust/node_modules/atom-languageclient/build/lib/adapters/document-sync-adapter.js:178:24)
    at Function.module.exports.Emitter.simpleDispatch (~/AppData/Local/atom/app-1.18.0/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (~/AppData/Local/atom/app-1.18.0/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at TextBuffer.module.exports.TextBuffer.emitDidChangeTextEvent (~/AppData/Local/atom/app-1.18.0/resources/app/node_modules/text-buffer/lib/text-buffer.js:1417:26)
    at TextBuffer.module.exports.TextBuffer.transact (~/AppData/Local/atom/app-1.18.0/resources/app/node_modules/text-buffer/lib/text-buffer.js:875:20)
    at TextEditor.module.exports.TextEditor.transact (~/AppData/Local/atom/app-1.18.0/resources/app/src/text-editor.js:1599:32)
    at ~/AppData/Local/atom/app-1.18.0/resources/app/src/text-editor.js:1160:30
    at TextEditor.module.exports.TextEditor.mergeSelections (~/AppData/Local/atom/app-1.18.0/resources/app/src/text-editor.js:2577:24)
    at TextEditor.module.exports.TextEditor.mergeIntersectingSelections (~/AppData/Local/atom/app-1.18.0/resources/app/src/text-editor.js:2539:41)
    at TextEditor.module.exports.TextEditor.mutateSelectedText (~/AppData/Local/atom/app-1.18.0/resources/app/src/text-editor.js:1158:25)
    at TextEditor.module.exports.TextEditor.insertText (~/AppData/Local/atom/app-1.18.0/resources/app/src/text-editor.js:1124:25)
    at TextEditor.object.(anonymous function) [as insertText] (~/AppData/Local/atom/app-1.18.0/resources/app/node_modules/underscore-plus/lib/underscore-plus.js:77:33)
    at TextEditorComponent.module.exports.TextEditorComponent.onTextInput (~/AppData/Local/atom/app-1.18.0/resources/app/src/text-editor-component.js:480:32)
    at HTMLDivElement.<anonymous> (~/AppData/Local/atom/app-1.18.0/resources/app/src/text-editor-component.js:3:65)

Commands

     -8:56.3.0 core:confirm (input.hidden-input)
 11x -4:09.2.0 core:backspace (input.hidden-input)
  2x -4:05.0 core:confirm (input.hidden-input)
 12x -3:58.2.0 core:backspace (input.hidden-input)
     -3:51.3.0 core:confirm (input.hidden-input)
  2x -2:57.6.0 editor:newline (input.hidden-input)
  4x -2:06.4.0 core:backspace (input.hidden-input)
     -1:59.3.0 editor:newline (input.hidden-input)

Non-Core Packages

language-rust 0.4.12 
languageserver-rust 0.3.0 
racer 0.20.0 

Annoying `std`

If I've the languageserver-rust plugin activated the std is very annoying.

image

If I hit Enter, a plain std stands there.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.