The Atom Editor

There is a pretty nice open source text editor and IDE called Atom, it is backed by GitHub.

<img src="https://atom.io/assets/screenshot-main-f609d95c29e5190787970f8c83762fcb.png" alt="Screnshot" style="width: 700px;"/>

Visually it looks similar to Sublime Text or TextMate.

I tried it for a while and looks quite interesting, I'd like to try it more, learn how to extend it then share the findings and ideas.

Advantages

  • As Atom is developed by GitHub is has a nice integration with GitHub technologies like integrated Git VCS support, open the current source at GitHub, GFM (MarkDown) live preview, etc...

  • Hackable, it was designed for customization and easy enhancements, the API is well documented.

  • Atom can be built from sources, alternatively DEB and RPM binary packages are provided for Linux. The RPM package is built for Fedora but works in openSUSE as well (tested in 13.2 and 42.1).

Disadvantages

  • The default Atom functionality is pretty wide, but there are still some missing features which are supported by the other editors. Fortunately there are about 3000 packages (plugins) provided by the community which can significantly extend the functionality.

  • Unfortunately the package does not support auto-upgrade, there is no notification about a new upgrade available, you have to actively check the latest version available. And if there is a new version available you have to download the package and run rpm -Uvh manually.

Technologies

It is quite interesting from technology point of view, it runs embedded in a Chrome web browser window. That means it's built on HTML, CoffeeScript (Javascript), Less (CSS) and NodeJs. So if you are familiar with the web technologies it should be pretty easy for you to hack the Atom editor and make your own customization or new plugins.

And if you are not familiar with them you can learn some new trendy technologies...

Ideas for the Hackweek Project

Here are some ideas for the Hackweek project:

  • Get familiar with Atom, try using it in your usual projects you work on.
  • Try to find some useful packages, make a list of recommended packages or configuration settings.
  • Build a native package for openSUSE, make it easy to upgrade the package by simple zypper up command just like the other packages.

If you find some missing functionality try implementing it as a new Atom package. Ideas for some new packages or enhancements:

  • Syntax highlighting for *.changes files (already started)
  • Syntax highlighting for Bugzilla and FATE numbers (already started)
  • Syntax highlighting for the YCP language. (YCP was dropped in YaST but it's still used in SLE11, for maintenance updates at least a basic syntax highlighting support still makes sense.)
  • Rake support - there is a build-tools-make package, create a similar package for Rake
  • Ruby code coverage highlighting (support for RSpec + SimpleCov), check the existing packages (1, 2, 3).
  • Ruby code navigator - there already is a ruby-navigator package, but needs some external tool and does not work reliably. Maybe the internal Ruby parser (used for syntax highlighting) could be reused, like in ruby-block.

Links

Looking for mad skills in:

atom editors ide coffeescript less html nodejs npm

This project is part of:

Hack Week 13

Activity

  • over 3 years ago: randybb liked Hacking the Atom Editor/IDE
  • over 3 years ago: pgonin liked Hacking the Atom Editor/IDE
  • over 3 years ago: pluskalm liked Hacking the Atom Editor/IDE
  • over 3 years ago: lslezak added keyword "npm" to Hacking the Atom Editor/IDE
  • over 3 years ago: lslezak added keyword "nodejs" to Hacking the Atom Editor/IDE
  • Show History

    Comments

    Be the first to comment!

    Similar Projects

    RPG Table by crichter

    I have build a table for our RPG sessions (DSA/...


    LibertyDraft.dev by hennevogel

    Discover Free Software projects that expose you...


    PXEAT - A PXE management tool by whdu

    PXEAT (stand for PXE Administration Tool) ...