All Projects → ShashankaNataraj → Juggernaut

ShashankaNataraj / Juggernaut

Licence: MIT license
The unstoppable programmers editor written in Rust and Javascript

Programming Languages

javascript
184084 projects - #8 most used programming language
rust
11053 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to Juggernaut

Spacevim
A community-driven modular vim/neovim distribution - The ultimate vimrc
Stars: ✭ 17,558 (+62607.14%)
Mutual labels:  ide, spacemacs
intellij-autohotkey
AutoHotkey plugin for the Jetbrain's IntelliJ platform
Stars: ✭ 30 (+7.14%)
Mutual labels:  ide, webstorm
Intellij Elixir
Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)
Stars: ✭ 1,488 (+5214.29%)
Mutual labels:  ide, webstorm
JetBrainsRunner
A Krunner Plugin which allows you to open your recent projects
Stars: ✭ 31 (+10.71%)
Mutual labels:  ide, webstorm
Monaco Ide Font
〽️ Patched Monaco font for use in popular IDEs and editors
Stars: ✭ 127 (+353.57%)
Mutual labels:  ide, webstorm
Geno
IDE for cross-platform C/C++ development
Stars: ✭ 39 (+39.29%)
Mutual labels:  ide
pyplotter
Python IDE for working with plots and data
Stars: ✭ 18 (-35.71%)
Mutual labels:  ide
bside
Github Content Management System
Stars: ✭ 22 (-21.43%)
Mutual labels:  ide
WeBASE
WeBank Blockchain Application Software Extension
Stars: ✭ 453 (+1517.86%)
Mutual labels:  ide
daily
7 Beautiful and famous dark themes with Operator mono font superpowers
Stars: ✭ 34 (+21.43%)
Mutual labels:  webstorm
qt-creator-plugin-boostbuild
Boost.Build Project Manager Plugin for Qt Creator
Stars: ✭ 15 (-46.43%)
Mutual labels:  ide
kodbox
kodbox is a file manager for web. It is a newly designed product based on kodexplorer. It is also a web code editor, which allows you to develop websites directly within the web browser.You can run kodbox either online or locally,on Linux, Windows or Mac based platforms
Stars: ✭ 1,188 (+4142.86%)
Mutual labels:  ide
monokle
🧐 Monokle streamlines the process of creating, analyzing, and deploying Kubernetes configurations by providing a unified visual tool for authoring YAML manifests, validating policies, and managing live clusters.
Stars: ✭ 795 (+2739.29%)
Mutual labels:  ide
ideU
The ide. Universal.
Stars: ✭ 43 (+53.57%)
Mutual labels:  ide
UnrealScriptIDE
Auto-completion, Syntax Highlighting, Go to Declaration, Build and Run and more..
Stars: ✭ 86 (+207.14%)
Mutual labels:  ide
TheVimIDE
Modern Vim IDE with support for C/C++, Java, Python, Lua, PHP, JavaScript, Ruby and much more ...
Stars: ✭ 33 (+17.86%)
Mutual labels:  ide
hackpad
The in-browser IDE for Go
Stars: ✭ 451 (+1510.71%)
Mutual labels:  ide
ide-bash
Bash language support for Atom-IDE
Stars: ✭ 18 (-35.71%)
Mutual labels:  ide
dockside
Dockside is a tool for provisioning lightweight access-controlled IDEs, staging environments and sandboxes - aka 'devtainers' - on local machine, on-premises raw metal or VM, or in the cloud
Stars: ✭ 205 (+632.14%)
Mutual labels:  ide
TommyGun
A retro development IDE for the creation of games on 8-bit computers.
Stars: ✭ 37 (+32.14%)
Mutual labels:  ide

drawing

Gitter HitCount

Yet another text editor?

I've used emacs(with and without spacemacs), Vim, WebStorm, and everything in between. I keep coming back to webstorm and vim due to 1 reason: The features webstorm provides are amazing. But WebStorm is a resource hog. Vim is a light saber, and excels at fast editing. Plugins do bog vim down in terms of speed.

Since I work on 3D applications, I need every ounce of juice my editor can spare me and I want a crossbreed of vim and webstorm to drive my daily editing needs.

So, I set out to write a lightweight and fast editor that isn't a resource hog but still fits the workflow I'm most used to.

Why not VSCode?

microsoft/vscode#49161

While VSCode fits everything Im trying to do and is an engineering marvel:

  • I refuse to put up with the telemetry.
  • I dont want a vertical bar occupying 5% of my screen all the time.
  • I dont want tabs at the top of the screen.
  • I want to have control on everything my editor is trying to do.

While some / all of these can be fixed with plugins / using different forks of VSCode, one question arises: Why bother? Why not build my own editor from the ground up instead of complaining about VSCode or webstorm or Vim?

Why even compete with established editors out there?

There are many editors out there, but this one is mine. And, I can learn Rust when implementing it 😎

Objectives in order of priority

  • Fast & Lightweight: Do a few things, do them well. Do not try to compete with VSCode and Webstorm. Borrow only what makes the most sense productivity - wise.
  • Pseudo Modal based: Dont copy vim or emacs' evil mode. Take only what makes the most sense. Completely keyboard driven.
  • Aesthetically pleasing
  • Predictable & stable
  • Spacemacs style keychords
  • 0 telemetry: No compromises! Store any config on the users own machine, dont send any network requests without the user knowing about it. Binaries produced during releases should be the same if the user tries to build it on his own. i.e, no sleight of hand w.r.t the build and release process like VSCode.
  • Use the systems native browser runtimes instead of packaging a runtime with the release binary

Build from source

You will need nodejs & npm to be installed before proceeding further. Run npm run release to install dependencies, and build the JS and Rust code into one binary. The built binary will be in target/release.

Hack with me

Run npm run watch-rs to allow cargo to watch for changes and live reload Run npm run watch-js to allow webpack to look for UI changes and live reload

Contributions

PR's are welcome. Just try not to break anything, even if you do, thats ok, Lets build something good together! 😄

Where do you need help?

Right now, Im trying to get all the basics right. Take a look at the project tracker if you're so inclined: https://github.com/ShashankaNataraj/Juggernaut/projects

But.. But.. electron is bloated®

That is exactly why this project uses https://github.com/Boscop/web-view 😆 The idea is to not distribute a browsers runtime along with the binary, but to use what system level browser runtimes are already available. That way, power consumption and performance are guaranteed to be better than the bundled binary. This leads to some problems:

  1. Native window dialogs are no longer accessible because web browsers are built to not expose file paths and directory structures to websites
  2. Actions like drag and drop are no longer available because of the same reasons as the above point. Drag and drops while possible, will not yield the file path
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].