README has been updated

This commit is contained in:
Sameer Rahmani 2018-03-20 14:23:51 +00:00
parent 340f755f3d
commit 80a756ac5f
1 changed files with 52 additions and 5 deletions

View File

@ -1,6 +1,8 @@
<div align="center"><img src="https://github.com/FG42/FG42/raw/master/share/icons/hicolor/128x128/apps/fg42.png" alt="FG42" align="center" /></div>
# Future Gadgets 42
<br/><br/>
# Future Gadgets 42
If you love **GNU/Emacs**, If you love to program in an editor instead of big slow IDE but still enjoy to
have a handy code editor then **FG42** is the right choice for you.
@ -36,6 +38,49 @@ After installation there would be a file at `~/.fg42.el` which is the user speci
configuration of **FG42**. You can configure your copy of **FG42** using this file.
Also you can generally use this file to configure Emacs as well.
## Terms & Concepts
FG42 introduced some new features to the Vanilla Gnu/Emacs. So you migh encounter several of these features during your
journey. It's a good idea to at least know what you're dealing with.
### Extensions
FG42 created around the idea of extensions. Each extension extends the FG42 functionality for a certain language or use case.
For example `clojure` extension adds support for a integrated development environment for `clojure` language. All the configuration
related to this environment leave inside that extension. By default, all the extensions which ships with FG42 are enabled. In order
to disable any extension which you might not need, just comment them out in your user configuration file in `~/.fg42.el`. For example
here is my own list:
```lisp
(activate-extensions 'editor
'development
'web
'editor-theme
'javascript
;;'ruby
'clojure
;;'php
'python)
;;'arduino
```
In order to learn more about each extension you can use `M-x describe-extension`.
### Abilities
Abilities are the smallest piece of configuration which add support for a certain functionality to **FG42**. Each extension contains several abilities.
Using abilities you can choose the set of abilities you like and disable those which you don't like. For example `helm` and `ido` are two different
library which conflicts with each other by we have an ability for each of them in the system, so you can choose which one to use and disable the other one.
In order to disable any ability, just add them to your configuration file in `~/.fg42.el`. For example my current disabled abilities are:
```lisp
(disable 'rbenv-global 'helm 'spell 'linum 'ivy 'smart-mode-line 'desktop-mode)
```
In the above list I disabled `helm` because I want to use `ido`. At the moment there is no way to find out about all the enabled abilities at runtime. Or
discover what abilities present in any extension (You can take a look at extension docs using `describe-extension` command) at runtime. But I'll add something
later :P.
## Documentation
If you're familiar with **GNU/Emacs** you're not going to have a problem with getting
@ -43,10 +88,12 @@ help. But just to clrearify here is a list of keybindings that may guide you dur
your experience:
| Key bindings | Description |
|:------------:|------------------|
| `C-?` | Quick cheatsheet |
| `C-h m` | All the information and keybindings of your current modes. e.g open of a `ruby` file and use the this keybinding to take a look at all the keybinding of ruby extension |
| Key bindings | command | Description |
|:------------:|--------:|------------------|
| `C-?` | cheatsheet-show | Quick cheatsheet |
| | describe-extension | It's going to ask you an extension name and show you the documentation of that extension |
| `C-h m` | describe-mode | All the information and keybindings of your current modes. e.g open of a `ruby` file and use the this keybinding to take a look at all the keybinding of ruby extension |
## what's with the name?