Rust IDE

Related tags

IDEs ride
Overview

This branch contains the development of a "new ride" that maintain a small impact on the ui library. This is for a few reasons.

  • Can customize the colors of the whole ui instead of what the os thinks a list should look like
  • Can more easily switch to another ui library if the current one has issues

I'd like to rewrite a revision 2 in rust (rust branch) but can't seem to find a good ui library that lets me create a window and just draw text, rectangles, lines and respond to various events. Currently thinking about creating a small FFI wxWidgets based library that does just that.

In the mean time I still think ride classic (classic branch) is useable but far from good or recomended for any serious rust development.

screenshot

Ride is a general text editor like vs code, the name comes from concatenating R from Rust and IDE, but that has lost it's meaning, now it's just a name. It's currently not in a usable state. If you're looking for something more complete, perhaps RustDT for Eclipse, SolidOak or Rust for brackets is your thing.

Build Status Build status Project Stats Join the chat at https://gitter.im/madeso/ride

Screenshots

screenshot screenshot

Getting ride

This isn't finished. Eventually there should be a installer here, but that isn't finished. Issue #13 is looking to fix this. If you want to try it, you need to download the source and build it yourself.

Since it isn't finished at first launch you might want to set all the colors to something other than black. Issue 64 should fix this.

Building ride

You need CMake, a C++ compiler and wxWidgets 3+. To actually build it, it is pretty standard. Use CMake to generate a configuration and then build that configuration.

Comments
  • Compile error on Mac OS X

    Compile error on Mac OS X

    All the dependencies were installed.

    brew install protobuf
    brew install doxygen
    brew install wxwidgets
    brew install cppcheck
    brew install clang-format
    

    Build :

    mkdir build
    cd build
    cmake .. 
    make 
    

    The error message:

                                                  ^
    /Users/foobar/src/ride/ride/language.cc:351:40: error: use of undeclared identifier 'wxSTC_LEX_RUST'
      RustLanguage() : Language(_("Rust"), wxSTC_LEX_RUST) {
                                           ^
    /Users/foobar/src/ride/ride/language.cc:410:20: error: use of undeclared identifier 'wxSTC_RUST_DEFAULT'
        SetStyle(text, wxSTC_RUST_DEFAULT,
                       ^
    /Users/foobar/src/ride/ride/language.cc:412:20: error: use of undeclared identifier 'wxSTC_RUST_COMMENTBLOCK'
        SetStyle(text, wxSTC_RUST_COMMENTBLOCK,
                       ^
    /Users/foobar/src/ride/ride/language.cc:414:20: error: use of undeclared identifier 'wxSTC_RUST_COMMENTLINE'
        SetStyle(text, wxSTC_RUST_COMMENTLINE,
                       ^
    /Users/foobar/src/ride/ride/language.cc:416:20: error: use of undeclared identifier 'wxSTC_RUST_COMMENTBLOCKDOC'
        SetStyle(text, wxSTC_RUST_COMMENTBLOCKDOC,
                       ^
    /Users/foobar/src/ride/ride/language.cc:418:20: error: use of undeclared identifier 'wxSTC_RUST_COMMENTLINEDOC'
        SetStyle(text, wxSTC_RUST_COMMENTLINEDOC,
                       ^
    /Users/foobar/src/ride/ride/language.cc:420:20: error: use of undeclared identifier 'wxSTC_RUST_NUMBER'
        SetStyle(text, wxSTC_RUST_NUMBER,
                       ^
    /Users/foobar/src/ride/ride/language.cc:422:20: error: use of undeclared identifier 'wxSTC_RUST_WORD'
        SetStyle(text, wxSTC_RUST_WORD,
                       ^
    /Users/foobar/src/ride/ride/language.cc:432:20: error: use of undeclared identifier 'wxSTC_RUST_CHARACTER'
        SetStyle(text, wxSTC_RUST_CHARACTER,
                       ^
    /Users/foobar/src/ride/ride/language.cc:434:20: error: use of undeclared identifier 'wxSTC_RUST_STRING'
        SetStyle(text, wxSTC_RUST_STRING,
                       ^
    /Users/foobar/src/ride/ride/language.cc:436:20: error: use of undeclared identifier 'wxSTC_RUST_STRINGR'
        SetStyle(text, wxSTC_RUST_STRINGR,
                       ^
    /Users/foobar/src/ride/ride/language.cc:439:20: error: use of undeclared identifier 'wxSTC_RUST_OPERATOR'
        SetStyle(text, wxSTC_RUST_OPERATOR,
                       ^
    /Users/foobar/src/ride/ride/language.cc:441:20: error: use of undeclared identifier 'wxSTC_RUST_IDENTIFIER'
        SetStyle(text, wxSTC_RUST_IDENTIFIER,
                       ^
    /Users/foobar/src/ride/ride/language.cc:443:20: error: use of undeclared identifier 'wxSTC_RUST_LIFETIME'
        SetStyle(text, wxSTC_RUST_LIFETIME,
                       ^
    /Users/foobar/src/ride/ride/language.cc:445:20: error: use of undeclared identifier 'wxSTC_RUST_MACRO'
        SetStyle(text, wxSTC_RUST_MACRO,
                       ^
    /Users/foobar/src/ride/ride/language.cc:447:20: error: use of undeclared identifier 'wxSTC_RUST_LEXERROR'
        SetStyle(text, wxSTC_RUST_LEXERROR,
                       ^
    10 warnings and 16 errors generated.
    make[2]: *** [ride/CMakeFiles/ride.dir/language.cc.o] Error 1
    make[1]: *** [ride/CMakeFiles/ride.dir/all] Error 2
    make: *** [all] Error 2
    
    opened by btbytes 9
  • Use xi-editor for text editing?

    Use xi-editor for text editing?

    I know that you have chosen Scintilla based text editor for the text editor component, but there is pure Rust text editor engine called xi-editor.

    I wich you would take a look at it as possible alternative for Scintilla.

    opened by luolong 3
  • Add a Gitter chat badge to README.md

    Add a Gitter chat badge to README.md

    madeso/ride now has a Chat Room on Gitter

    @madeso has just created a chat room. You can visit it here: https://gitter.im/madeso/ride.

    This pull-request adds this badge to your README.md:

    Gitter

    If my aim is a little off, please let me know.

    Happy chatting.

    PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

    opened by gitter-badger 1
  • Which wxWidgets version required?

    Which wxWidgets version required?

    Trying to build with wxwidgets-3.0.2:

    error: no matching function for call to ‘wxStyledTextCtrl::FindText(int&, int&, const wxString&, int&, int*&)’
    

    Trying to build with wxWidgets 2.8.12.1-12:

    ride/ride/wxutils.h:35:30: error: ‘ButtonLabel’ in ‘class wxMessageDialogBase’ does not name a type
    
    opened by vi 1
  • Add a Command Palette

    Add a Command Palette

    Inspired by/stolen from: https://github.com/atom/command-palette

    2908b768-9ccd-11e3-9da1-a11753c0495d 1

    or the find action in jetbrains: https://www.jetbrains.com/idea/help/navigating-to-action.html gotoaction 1

    This might be related to the scripting integration of #111

    opened by madeso 0
  • Support editor components

    Support editor components

    Editor components are part of the editor, like editor replacements but only covers part of the editor.

    The most useful implentation might be a formula editor in the style of Words forumla editor that covers only certain(marked up?) math expressions but Im sure there are opter applications.

    146123-232129-mircosoft-equation-editor2 microsoft_office_2007_equation_editor 1 _2 1

    scintilla 
    opened by madeso 0
  • Advanced tab display

    Advanced tab display

    Update tab display to only display the relevant part of the file path instead of the file name. The other part of the oath should be either be cut or dimmed depending on what and where it is.

    bold is used here for highlight, this is only as an example.

    Single file open: [main.rs]

    Two files, same name [main.rs | lib/main.rs]

    Two files, same name, different extension: [app.rs | app.png]

    The actual logic probably needs to be tweaked as well, but the current system is too generic.

    This is how brackets displays tabs: brackets-tabs

    opened by madeso 0
Owner
Gustav Jansson
Hobby game programmer. Professional C++ programmer. Likes python, rust and petting cats. Swedish and tall. he / him
Gustav Jansson
RustDT is an Eclipse based IDE for the Rust programming language:

Project website: http://rustdt.github.io/ As of 2017, RustDT is no longer actively maintained, see this blog post for more information. If you are int

null 351 Aug 20, 2022
Rust IDE

This branch contains the development of a "new ride" that maintain a small impact on the ui library. This is for a few reasons. Can customize the colo

Gustav Jansson 171 Dec 24, 2022
An IDE for Rust

Introduction SolidOak is a simple IDE for Rust. See the website for binary releases. It has the following features: An embedded copy of Neovim as its

Zach Oakes 907 Dec 29, 2022
Flowistry: Powerful IDE Tools for Rust

Flowistry - a VSCode extension that helps you understand Rust programs with program analysis.

Will Crichton 1.4k Dec 29, 2022
IDE tools for writing pest grammars, using the Language Server Protocol for Visual Studio Code, Vim and other editors

Pest IDE Tools IDE support for Pest, via the LSP. This repository contains an implementation of the Language Server Protocol in Rust, for the Pest par

pest 20 Apr 8, 2023
rust-analyzer is a modular compiler frontend for the Rust language

rust-analyzer is a modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust.

null 11.2k Jan 8, 2023
Rust language support in Atom - LOOKING FOR MAINTAINER, see #144

Rust language support in Atom Adds syntax highlighting and snippets to Rust files in Atom. Install Install the package language-rust in Atom (Preferen

Andreas Neuhaus 118 Oct 11, 2022
Emacs configuration for Rust

Table of Contents Introduction Installation Melpa Manual installation Feature guide Indentation Code formatting Running / testing / compiling code Cli

The Rust Programming Language 919 Jan 4, 2023
Rust development environment for Emacs

Rustic Table of Contents Rustic Intro Installation straight Compilation Faces rustc errors Rustfmt edition 2018 LSP Server Client eglot lsp-mode lsp-e

null 612 Dec 30, 2022
Better Rust/Cargo support for Flycheck

flycheck-rust — Flycheck for Rust This Flycheck extension configures Flycheck automatically for the current Cargo project. Setup Install from MELPA or

Flycheck 112 Sep 21, 2022
NetBeans Rust plugin

Rust NetBeans Plugin A NetBeans plugin for Rust. Linux / OSX Windows Requirements NetBeans 8.2.x Java 8+ Rust Cargo Rustup Features So far, it include

drrb 52 Oct 10, 2022
Rust plugin for the IntelliJ Platform

Rust plugin for the IntelliJ Platform Build Status Check Stable Beta Nightly Installation & Usage Available installation options and features are desc

IntelliJ Rust 4.2k Jan 2, 2023
The official Sublime Text 3 package for the Rust Programming Language

Rust Enhanced About This is a Sublime Text 3 package which supports Rust starting with version 1.0, it makes no attempt at supporting earlier incompat

The Rust Programming Language 704 Jan 7, 2023
Vim configuration for Rust.

rust.vim Description This is a Vim plugin that provides Rust file detection, syntax highlighting, formatting, Syntastic integration, and more. It requ

The Rust Programming Language 3.4k Jan 8, 2023
Rust Cargo command bindings

Vim Cargo Simple vim command bindings to quickly run cargo stuff from vim. Commands Available, mapping with their Cargo equivalant: CargoBench CargoBu

Timon Vonk 52 Dec 24, 2022
Visual Studio extension for Rust

Visual Studio extension for Rust Currently in development, and not feature complete. Stable versions are available on the Visual Studio extension gall

PistonDevelopers 697 Dec 18, 2022
Rust extension for Visual Studio 2017 with RLS support

Rust support for Visual Studio 2017 Preview Adds language support for Rust to Visual Studio 2017. Supports: code completion goto definition find all r

Zoey Riordan 111 Aug 4, 2022
crates is an extension aims to help people to manage their dependencies for rust (crates.io & TOML).

crates Hello Rust & VSCode lovers, This is crates, an extension for crates.io dependencies. Aims helping developers to manage dependencies while using

Seray Uzgur 164 Jan 4, 2023
Rust On the FLY completion for neovim

rofl.nvim Rust On the FLy completion engine for Neovim. Why Rust? It's 2021. I think the question you should be asking yourself is "Why NOT Rust?!?? (

TJ DeVries 63 Sep 25, 2022