| OLD | NEW |
| 1 # Atom | 1 # Atom |
| 2 | 2 |
| 3 [Atom](https://atom.io/) |
| 4 ([Wikipedia](https://en.wikipedia.org/wiki/Atom_(text_editor))) is a |
| 5 multi-platform code editor that is itself based on Chromium. |
| 6 [Turtles aside](https://en.wikipedia.org/wiki/Turtles_all_the_way_down), Atom |
| 7 has a growing community and base of installable plugins and themes. |
| 8 |
| 9 You can download and install via links from the |
| 10 [main Atom site](https://atom.io/). If you're interested in checking out the |
| 11 code and contributing, see the |
| 12 [developer page](https://github.com/atom/atom/blob/master/docs/build-instruction
s/linux.md). |
| 13 |
| 3 [TOC] | 14 [TOC] |
| 4 | 15 |
| 5 ## Workflow | 16 ## Workflow |
| 6 | 17 |
| 7 A typical Atom workflow consists of the following. | 18 A typical Atom workflow consists of the following. |
| 8 | 19 |
| 9 1. Use `Ctrl-Shift-R` to find a symbol in the `.tags` file or `Ctrl-P` to find | 20 1. Use `Ctrl-Shift-R` to find a symbol in the `.tags` file or `Ctrl-P` to find |
| 10 a file by name. | 21 a file by name. |
| 11 2. Switch between the header and the source using `Alt-O`(`Ctrl-Opt-S` on OSX). | 22 2. Switch between the header and the source using `Alt-O`(`Ctrl-Opt-S` on OSX). |
| 12 3. While editing, `you-complete-me` package helps with C++ auto-completion and | 23 3. While editing, `you-complete-me` package helps with C++ auto-completion and |
| 13 shows compile errors through `lint` package. | 24 shows compile errors through `lint` package. |
| 14 4. Press `Ctrl-Shift-P` and type `format<Enter>` to format the code. | 25 4. Press `Ctrl-Shift-P` and type `format<Enter>` to format the code. |
| 15 5. Select the target to build by pressing `F7` and typing, for example, | 26 5. Select the target to build by pressing `F7` and typing, for example, |
| 16 `base_unittests`. | 27 `base_unittests`. |
| 17 6. Rebuild again by pressing `F9`. | 28 6. Rebuild again by pressing `F9`. |
| 18 | 29 |
| 19 ## Atom packages | 30 ## Atom packages |
| 20 | 31 |
| 21 To setup this workflow, install Atom packages for Chrome development. | 32 To setup this workflow, install Atom packages for Chrome development. |
| 22 | 33 |
| 23 ``` | 34 ``` |
| 24 $ apm install build-ninja clang-format \ | 35 $ apm install build build-ninja clang-format \ |
| 25 linter linter-cpplint linter-eslint switch-header-source you-complete-me | 36 linter linter-cpplint linter-eslint switch-header-source you-complete-me |
| 26 ``` | 37 ``` |
| 27 | 38 |
| 28 ## Autocomplete | 39 ## Autocomplete |
| 29 | 40 |
| 30 Install C++ auto-completion engine. | 41 Install C++ auto-completion engine. |
| 31 | 42 |
| 32 ``` | 43 ``` |
| 33 $ git clone https://github.com/Valloric/ycmd.git ~/.ycmd | 44 $ git clone https://github.com/Valloric/ycmd.git ~/.ycmd |
| 34 $ cd ~/.ycmd | 45 $ cd ~/.ycmd |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 on a project that frequently uses `foo` or `bar` in files names, you can create | 132 on a project that frequently uses `foo` or `bar` in files names, you can create |
| 122 a small `.tags` file to efficiently search the symbols within these files. Be | 133 a small `.tags` file to efficiently search the symbols within these files. Be |
| 123 sure to use "Exuberant Ctags." | 134 sure to use "Exuberant Ctags." |
| 124 | 135 |
| 125 ``` | 136 ``` |
| 126 $ git ls | egrep -i "foo|bar" | ctags -f .tags -L - | 137 $ git ls | egrep -i "foo|bar" | ctags -f .tags -L - |
| 127 ``` | 138 ``` |
| 128 | 139 |
| 129 Don't create a ctags file for the full Chrome repository, as that would result | 140 Don't create a ctags file for the full Chrome repository, as that would result |
| 130 in ~9GB tag file that will not be usable in Atom. | 141 in ~9GB tag file that will not be usable in Atom. |
| OLD | NEW |