Linting your Rust-files in Atom, using rustc and cargo.

Overview

linter-rust Build Status

Linting your Rust-files in Atom, using rustc and cargo. Files will be checked when you open or save them.

Installation

Other available linters

There are other linters available - take a look at the linters mainpage.

Comments
  • Added a proper support for `cargo --message-format json`

    Added a proper support for `cargo --message-format json`

    Massively refactored code, so the error mode behaviour is less dependent on conditions and more polymorphic.

    I've tested this in all five modes that linter-rust currently supports:

    • Old rustc plain-text messages
    • Old cargo plain-text messages
    • Rustc json errors
    • Intermediate cargo json errors, enabled by RUSTFLAGS, that caused several problems and only enabled for a short ammount of time from AUgust to October 2016
    • Proper cargo json errors enabled by --message-format json, that are introduced by this PR

    In short, I split the linter in two files: linter-rust.coffee and mode.coffee. The latter is now responsible on mode-specific interactions such as error parsing, arguments generating.

    Fixes #77.

    As far as I tested it, it works, but I, probably, need some review on code.

    bug enhancement 
    opened by White-Oak 27
  • Compling via Terminal Forces the Dependencies to Compile.

    Compling via Terminal Forces the Dependencies to Compile.

    Not sure if this is the expected behaviour as it is telling me there is a file lock. I have confirmed that the issue is with this linter, that is, when I disable the linter the problem resolves itself. Not sure if there is anything else I can add.

    duplicate 
    opened by ghost 15
  • Use explicit path to rusts executables

    Use explicit path to rusts executables

    This way we don't make any assumption on the installation of rust. Additionally, the default values provide a flawless setup on properly configured Windows, Linux and OSX boxes.

    opened by aomader 13
  • Switching between terminal and Atom with linter-rust causes a clean rebuild

    Switching between terminal and Atom with linter-rust causes a clean rebuild

    This causes long rebuilds of a full project. However, if I remain in one environment (say linter-rust) clean rebuilds do not happen.

    This was introduced recently, probably, with my change of how environment is passed to cargo.

    I will debug this and try to fix, but I'm curious if I'm the only one who encountered this. Please upvote this or leave a response if you have experienced such an issue.

    bug 
    opened by White-Oak 9
  • Error: EPERM: operation not permitted, write

    Error: EPERM: operation not permitted, write

    When running the linter on a rust file I get the error Error: EPERM: operation not permitted, write. This happens regardless of which cargo command I choose.

    I am running atom 1.9.9, windows 10 (with anniversary update), linter-rust 0.5.4 and rust 1.13.

    Here is the whole error message.

    Error: EPERM: operation not permitted, write at Error (native) at Object.fs.writeSync (fs.js:706:20) at SyncWriteStream.write (fs.js:2064:6) at Object.execSync (child_process.js:519:20) at LinterRust.ableToJSONErrors (file:///C:/Users/Magnus/.atom/packages/linter-rust/lib/linter-rust.coffee:218:20) at LinterRust.ableToJSONErrors (file:///C:/Users/Magnus/.atom/packages/linter-rust/lib/linter-rust.coffee:1:1) at LinterRust.initCmd (file:///C:/Users/Magnus/.atom/packages/linter-rust/lib/linter-rust.coffee:202:62) at LinterRust.initCmd (file:///C:/Users/Magnus/.atom/packages/linter-rust/lib/linter-rust.coffee:1:1) at file:///C:/Users/Magnus/.atom/packages/linter-rust/lib/linter-rust.coffee:21:15 at LinterRust.lint (file:///C:/Users/Magnus/.atom/packages/linter-rust/lib/linter-rust.coffee:19:16) at Object.lint (file:///C:/Users/Magnus/.atom/packages/linter-rust/lib/linter-rust.coffee:1:1) at promises.push.Promise.then._this.emitter.emit.linter (C:/Users/Magnus/.atom/packages/linter/lib/linter-registry.js:63:26) at C:/Users/Magnus/.atom/packages/linter/lib/linter-registry.js:62:23 at Set.forEach (native) at LinterRegistry.lint (C:/Users/Magnus/.atom/packages/linter/lib/linter-registry.js:60:18) at file:///C:/Users/Magnus/.atom/packages/linter/lib/linter.coffee:98:16 at Function.module.exports.Emitter.simpleDispatch (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\node_modules\event-kit\lib\emitter.js:25:14) at Emitter.module.exports.Emitter.emit (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\node_modules\event-kit\lib\emitter.js:125:28) at C:/Users/Magnus/.atom/packages/linter/lib/editor-linter.js:30:20 at Function.module.exports.Emitter.simpleDispatch (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\node_modules\text-buffer\node_modules\event-kit\lib\emitter.js:25:14) at Emitter.module.exports.Emitter.emit (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\node_modules\text-buffer\node_modules\event-kit\lib\emitter.js:129:28) at TextBuffer.module.exports.TextBuffer.saveAs (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1156:27) at TextBuffer.module.exports.TextBuffer.save (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1126:19) at TextEditor.module.exports.TextEditor.save (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\text-editor.js:755:26) at Pane.module.exports.Pane.saveItem (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\pane.js:734:18) at Pane.saveItem (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\pane.js:3:61) at Pane.module.exports.Pane.saveActiveItem (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\pane.js:717:19) at Workspace.module.exports.Workspace.saveActivePaneItem (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\workspace.js:699:35) at atom-workspace.commandRegistry.add.core:save (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\register-default-commands.js:220:32) at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\command-registry.js:260:29) at C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\command-registry.js:3:61 at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:580:16) at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:388:22) at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\window-event-handler.js:98:36) at HTMLDocument. (C:\Users\Magnus\AppData\Local\atom\app-1.9.9\resources\app.asar\src\window-event-handler.js:3:61)

    opened by CodeGradox 9
  • Wrong location reporting

    Wrong location reporting

    I've just installed as a brand new both Atom and linter-rust. For some reason all of my errors get reported as line 1, col 1. Would be nice if that can be fixed.

    opened by botev 9
  • Doesn't work at all on Windows

    Doesn't work at all on Windows

    rustc.exe is already in my %PATH%.

    If left as the default value (empty), I get the following error: Uncaught Error: ENOENT, no such file or directory '<project directory>\rustc' fs.js:726 If set to where Rust is installed, I get the following error:

    Linter-Rust: "C:\Program Files (x86)\Rust\bin\rustc.exe" was not executable: "#1: stderr: 'C:\Program' is not recognized as an internal or external command,
    operable program or batch file.
    ". Please, check executable path in the linter settings.
    

    If set to where Rust is installed with wrapping quotes, I get the following error: Uncaught Error: ENOENT, no such file or directory '<project directory>\"C:\Program Files (x86)\Rust\bin\rustc.exe"'

    Even if I go full workaround mode and set the executable path setting to ../../../../PROGRA~2/Rust/bin/rustc.exe nothing seems to happen.

    opened by nixxquality 9
  • JS error and rebuilds triggered

    JS error and rebuilds triggered

    Hi,

    I'm not sure why this happens, but for some of my repositories linter-rust triggers a complete rebuild, and then crashes with the following error:

    SyntaxError: Unexpected number
        at Object.parse (native)
        at LinterRust.parseJSON (/Users/noren/.atom/packages/linter-rust/lib/linter-rust.coffee:79:24)
        at LinterRust.parseJSON (/Users/noren/.atom/packages/linter-rust/lib/linter-rust.coffee:1:1)
        at exit (/Users/noren/.atom/packages/linter-rust/lib/linter-rust.coffee:54:25)
        at triggerExitCallback (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:215:47)
        at /Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:222:18
        at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:100:18)
        at emitOne (events.js:95:20)
        at Socket.emit (events.js:182:7)
        at Pipe._onclose (net.js:477:12)
    

    The rebuild also crashes so if I run cargo run after this it needs to build the whole project from scratch.

    The only "special" things about these repos that I can think of is that they have a .cargo/config with a bunch of linking statements:

    [target.x86_64-pc-windows-gnu.assimp]
    rustc-link-search = ["../../pixelport_deps/assimp/v3.2/x86_64-pc-windows-gnu"]
    rustc-link-lib = ["assimp", "stdc++"]
    

    Versions

    • rustc 1.13.0-nightly (497d67d70 2016-09-01)
    • linter-rust 0.5.6
    • atom 1.10.2
    question 
    opened by FredrikNoren 7
  • Invalid arguments when using rust 1.13 (nightly)

    Invalid arguments when using rust 1.13 (nightly)

    Updated rust today, and got an invalid arguments error. Looking into this it seems cargo has a problem with the -- --error-format=json part. Asking in the #rust channel it seems this was never an accepted way to pass commands to rustc via cargo. Using the rustc option however will result in "invalid specified features" errors being spammed for every line of output given from cargo.

    opened by LaylBongers 7
  • Process execution timed out

    Process execution timed out

    After upgrading to 0.7.3 I'm getting the following error

    Failed to run /home/arthurprs/.cargo/bin/cargo
    Process execution timed out
    

    I tried restarting in debug mode to get some diagnostics data but all I get is panels like

    Output from stdout while linting
    {"features":[],"filenames":["/home/arthurprs/dev/sucredb/target/debug/deps/libnum_traits-2b4521742e722f84.rmeta"],"fresh":true,"package_id":"num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"num-traits","src_path":"/home/arthurprs/.cargo/registry/src/github.com-1ecc6299db9ec823/num-traits-0.1.37/src/lib.rs"}}
    ....
    
    Output from stderr while linting
    Compiling sucredb v0.1.0 (file:///home/arthurprs/dev/sucredb)
        Finished dev [unoptimized + debuginfo] target(s) in 2.99 secs
    

    Running Atom 1.15.0 on Linux x64 rustc 1.17.0-nightly (b1e31766d 2017-03-03)

    enhancement 
    opened by arthurprs 6
  • Object.dirname is deprecated. ( is`file` variable a string? )

    Object.dirname is deprecated. ( is`file` variable a string? )

    Argument to path.dirname must be a string

    Object.dirname (/usr/share/atom/resources/app.asar/src/electron-shims.js:9:10)
    <unknown> (/home/jeffbustercase/.atom/packages/linter-rust/lib/linter-rust.coffee:97:25)
    

    I don't know where is file var from, but is giving erros on the current update of atom. After a little time of program or at the start, reports as deprecated package.

    thanks for the attention

    bug 
    opened by JeffBusterCase 6
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Detected dependencies

    npm
    package.json
    • atom-linter 10.0.0
    • atom-package-deps 5.1.0
    • semver 7.1.3
    • xregexp 4.3.0

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
  • fix(deps): update dependency atom-package-deps to v8

    fix(deps): update dependency atom-package-deps to v8

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | atom-package-deps (source) | 5.1.0 -> 8.0.0 | age | adoption | passing | confidence |


    Release Notes

    steelbrain/package-deps

    v8.0.0

    Compare Source

    • Potentially unstable: Minify the output to reduce size to ~10kb from ~30kb. (Thanks @​aminya)

    Although none of the APIs have changed, this change may be potentially unstable, so marking it as semver-major so consumers have to opt-in to this.

    v7.2.3

    Compare Source

    v7.2.2

    Compare Source

    v7.2.1

    Compare Source

    v7.2.0

    Compare Source

    • Add Typescript definitions
    • Fix installing dependencies in CI on Windows
    • Allow purely string entries for name in dependencies

    v7.1.0

    Compare Source

    • Readd ability to hide user prompt

    v7.0.3

    Compare Source

    • Fix support for notifications-plus package (Thanks @​UziTech)

    v7.0.2

    Compare Source

    • Fix a bug where error would be thrown if user already had one of the packages installed (Thanks @​lierdakil)

    v7.0.1

    Compare Source

    • Fix a dev dependency accidentally slipping into post-install script

    v7.0.0

    Compare Source

    • BREAKING Change function signature to get rid of promptUser
    • BREAKING Change format of package-deps in manifest from "my-name:my-version" to be { "name": "my-name", "minimumVersion": "my-version" }
    • BREAKING Instead of accepting a semver-range for version, you can now only specify a minimum version in x.y.z format, instead of for example >=2
    • Add support for optional/group packages where users only have to install one of many, and are given a choice at runtime. Signature becomes Dependency[][] instead of Dependency[]
    • Add support for using through CLI for CI and similar purposes

    v6.0.0

    Compare Source

    • Fix progress bar on newer Atom versions
    • Use rollup to bundle dependencies to decrease load times (Thanks @​aminya)

    While there's no API breaking change, the distribution format and internal code has changed signficiantly enough that it MAY have some bugs left despite our testing. Therefore, to not break existing expectations, I (@​steelbrain) am pushing this out as semver-major.


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Improve workspace handelling

    Improve workspace handelling

    I was having issues with this in my workspace projects so I went and fixed that

    Additions

    • Use cargo locate-project --workspace to find workspace manifiest
    • Add cargo all which checks all workspaces and all targets
    • Fix issue with paths relative to the cargo manifest root not cwd
    • Adds the --all-targets option to the all varients so that it checks all binaries/examples/tests/benches

    Issues related to worskspaces Fixes #151


    Issues related to --all-targets Fixes #61 Fixes #111 (In terms of --all-targets checking all examples and tests) Fixes #113

    opened by QuantumEntangledAndy 0
  • fix(deps): update dependency xregexp to v5

    fix(deps): update dependency xregexp to v5

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | xregexp (source) | 4.3.0 -> 5.1.1 | age | adoption | passing | confidence |


    Release Notes

    slevithan/xregexp

    v5.1.1

    Compare Source

    v5.1.0

    Compare Source

    Breaking Changes

    • XRegExp.matchRecursive: When doing a global, non-sticky search and providing valueNames, return an empty array if no matches are found, rather than an array with one object containing a between value that contains the whole target string (this change is to match every other case when no matches are found, e.g. when not providing valueNames, not using global with flag g, or doing a sticky search with flag y): 6e1711e

    Improvements

    • XRegExp.matchRecursive: Add support for matching with unbalanced delimiters (new unbalanced option with supported values 'error' [default], 'skip', and 'skip-lazy'): #​96
    • Upgrade to Unicode 14.0.0: 0f52a62

    v5.0.2

    Compare Source

    • Fix TypeScript definition for XRegExp.matchChain: #​325
    • Fix XRegExp.escape to handle -, ,, and # in a way that is compatible with ES6 flag u: #​323

    v5.0.1

    Compare Source

    • Hotfix for broken npm package.
    • Adds docs folder with extensive documentation.

    v5.0.0

    Compare Source

    Breaking Changes

    Improvements

    • Support optional 'Script=' prefix (from ES2018 syntax) for Unicode script tokens: https://github.com/slevithan/xregexp/issues/225
    • XRegExp.matchRecursive: Add delimiter and position info to error when unbalanced delimiters are found: https://github.com/slevithan/xregexp/issues/293
    • Avoid inserting unneeded (?:) into native regex source in more cases: https://github.com/slevithan/xregexp/commit/076f9501965d9ddc4f1cf7b7626c77993b396a01 and https://github.com/slevithan/xregexp/commit/d78a26216691c975acf5424f371db9763f307c7a
    • Defer to native flag s in ES2018 environments: https://github.com/slevithan/xregexp/commit/98abea85ed0da1e1b40d9b26cc6a299c297b8eae

    Bug Fixes

    v4.4.1

    Compare Source

    v4.4.0

    Compare Source

    • Upgrade to Unicode 13.0.0
    • Add TypeScript definitions and tests #​285 #​286 #​288
    • Fix infinite loop in IE11 when used with core-js 3.6.0+ #​300

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • fix(deps): update dependency xregexp to v4.4.1

    fix(deps): update dependency xregexp to v4.4.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | xregexp (source) | 4.3.0 -> 4.4.1 | age | adoption | passing | confidence |


    Release Notes

    slevithan/xregexp

    v4.4.1

    Compare Source

    v4.4.0

    Compare Source

    • Upgrade to Unicode 13.0.0
    • Add TypeScript definitions and tests #​285 #​286 #​288
    • Fix infinite loop in IE11 when used with core-js 3.6.0+ #​300

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency semver to v7.3.8

    fix(deps): update dependency semver to v7.3.8

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | semver | 7.1.3 -> 7.3.8 | age | adoption | passing | confidence |


    Release Notes

    npm/node-semver

    v7.3.8

    Compare Source

    Bug Fixes
    Documentation
    7.3.7 (2022-04-11)
    Bug Fixes
    Dependencies
    7.3.6 (2022-04-05)
    Bug Fixes
    Documentation
    • clarify * range behavior (cb1ca1d)
    Dependencies

    v7.3.7

    Compare Source

    v7.3.6

    Compare Source

    v7.3.5

    Compare Source

    v7.3.4

    Compare Source

    v7.3.3

    Compare Source

    v7.3.2

    Compare Source

    v7.3.1

    Compare Source

    v7.3.0

    Compare Source

    • Add subset(r1, r2) method to determine if r1 range is entirely contained by r2 range.

    v7.2.3

    Compare Source

    • Fix handling of includePrelease mode where version ranges like 1.0.0 - 2.0.0 would include 3.0.0-pre and not 1.0.0-pre.

    v7.2.2

    Compare Source

    • Fix bug where 2.0.0-pre would be included in ^1.0.0 if includePrerelease was set to true.

    v7.2.1

    Compare Source

    v7.2.0

    Compare Source

    • Add simplifyRange method to attempt to generate a more human-readable range expression that is equivalent to a supplied range, for a given set of versions.

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
Releases(v1.0.1)
Owner
Atom Linter
Linter providers for Atom
Atom Linter
Generate markdown comparison tables from `cargo-criterion` JSON output

criterion-table Generate markdown comparison tables from Cargo Criterion benchmark JSON output. Currently, the tool is limited to Github Flavored Mark

Scott Meeuwsen 11 Dec 16, 2022
Command line tool for inspecting Parquet files

pqrs pqrs is a command line tool for inspecting Parquet files This is a replacement for the parquet-tools utility written in Rust Built using the Rust

Manoj Karthick 127 Dec 23, 2022
An independent Rust text editor that runs in your terminal!

Ox editor Ox is a code editor that runs in your terminal. About The Project Ox is a code editor. It was written in Rust using ANSI escape sequences. I

null 2.9k Jan 2, 2023
A fast and small Rust library to make Electron apps more secure.

electron-hardener A Rust library and command line tool to harden Electron binaries against runtime behavior modifications. This provides a way to hard

1Password 364 Dec 23, 2022
Lightning-fast and Powerful Code Editor written in Rust

Lapce Lightning-fast and Powerful Code Editor written in Rust About Lapce is written in pure Rust, with UI in Druid. It's using Xi-Editor's Rope Scien

Lapce 22.1k Jan 8, 2023
Wealthy Rich ported to Rust! This aims to be a crate for rich text and beautiful formatting in the terminal

Wealthy Rich ported to Rust! This aims to be a crate for rich text and beautiful formatting in the terminal

Sourajyoti Basak 20 Dec 29, 2022
A pathtracer written in rust - runs in the web and includes an editor

Webtracer A pathtracer written in rust - runs in the web and includes an editor Rendering is parallelized and utilizes all cpu cores You can easily ed

Shapur 5 Oct 7, 2022
Rustpad is an efficient and minimal collaborative code editor, self-hosted, no database required

Rustpad is an efficient and minimal open-source collaborative text editor based on the operational transformation algorithm

Eric Zhang 2.5k Dec 31, 2022
Borderlands 3 Save/Profile Editor for Windows/MacOS and Linux!

Borderlands 3 Save Editor A tool to help you modify your Borderlands 3 Saves and Profiles. Currently it runs on Windows, Mac OS and Linux. It supports

Zak 195 Jan 4, 2023
A terminal-based text editor written in Rust

Iota Iota is a terminal-based text-editor written in Rust. Here's what it looks like right now, editing itself. Motivation Iota was born out of my fru

Greg Chapple 1.6k Jan 8, 2023
A text editor in ≤1024 lines of code, written in Rust

Kibi: A text editor in ≤1024 lines of code, written in Rust A configurable text editor with UTF-8 support, incremental search, syntax highlighting, li

Ilaï Deutel 881 Dec 29, 2022
Rust :heart: Emacs

Rust ❤️ Emacs A community-driven port of Emacs to Rust. Table of Contents Why Emacs? Why Rust? Why A Fork? Getting Started Requirements Dockerized dev

Remacs 4.5k Jan 2, 2023
A modern editor with a backend written in Rust.

Xi Editor (pronounced "Zigh") A modern editor with a backend written in Rust. Maintenance status: The xi-editor project is not currently under active

null 19.7k Jan 5, 2023
Web base text editor written in rust

Ultron Ultron is a web based monospace text-editor with syntax highlighting, completely written in rust. I wrote this code editor for my very specific

Jovansonlee Cesar 59 Aug 8, 2022
syntect is a syntax highlighting library for Rust that uses Sublime Text syntax definitions.

syntect is a syntax highlighting library for Rust that uses Sublime Text syntax definitions. It aims to be a good solution for any Rust project that needs syntax highlighting, including deep integration with text editors written in Rust.

Tristan Hume 1.5k Jan 8, 2023
Rust-based traffic editor for RMF

Traffic Editor III Welcome to Traffic Editor III. install stuff Unfortunately we need a newer Rust than what comes with Ubuntu 20.04. First make sure

null 2 Oct 20, 2022
My own personal code editor built with Rust + OpenGL

Glyph This is my personal code editor that I am building for fun and to get more familiar with OpenGL. Glyph currently supports Vim keybinds, syntax h

Zack Radisic 83 Dec 23, 2022
A simple terminal-based editor made in rust!

ELuna Editor The terminal-based editor for europa lang. Goals Be as minimal as possible, but retain conveniences found in other editors. Do not add fe

Junhao 3 May 25, 2022
Ginkgo is a text editor built entirely in Rust

Ginkgo is a text editor built entirely in Rust. It supports cursor movements, CTRL commands, select vim commands, insert vs. normal modes, and more. Ginkgo is based on my text editor JED, which itself was based on the popular online editor Kilo.

James Asbury 12 Oct 15, 2022