aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 45d61c0898f31d156a80e85a13b52679ceafaca0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# API Notation Syntax for Atom

This is a grammar for api notation, a simple notation I've been using for
annotating module APIs in specs and other documents.

## Installing

### From Command Line

`apm install api-notation`

### From GUI

#### Open the Package Manager from Palette Manager

1. Press `⌘⇧P` on OSX or `⌃⇧P` on Windows/Linux to open the palette manager
2. Look for `Install Packages and Themes`

#### Open the Package Manager from Preferences

1. Go to `Atom -> Preferences` menu
2. Go to `Install`

#### Install it

1. Search for `api-notation` in the search bar
2. Click Install

## Usage

Open a `.api` file, or set it as your syntax.

## API Notation Reference

The most recent reference as of now is in this [gist][api-reference], so
check that to be sure. But here's a reproduction of the notation.

```
NameOfClass.WithPossibleNamespace
   + class property
   - instance property
  ~> listened events (socket)
  +> listened events (class/module)
  -> listened events (instance)
  <~ dispatched events (socket)
  <+ dispatched events(class/module)
  <- dispatched events (instance)
  :: class method
   # instance method

Other symbols
  => returns
->() callback return
[xx] optional
<xx> data type

Recommended order: class first, then sockets, then instance. Internally:
Properties, events, methods.

// Anything after two forward slashes is a comment
```

## How does it look like?

Like this.

![Like this.][api-example]

[api-reference]: https://gist.github.com/benbeltran/4694c46fcec131468e34
[api-example]: https://i.imgur.com/5WXuf4u.png