forked from ternjs/tern
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
163 lines (129 loc) · 7.05 KB
/
index.html
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<!doctype html>
<head>
<meta charset="utf-8">
<link rel=stylesheet href="doc/docs.css">
<title>Tern</title>
</head>
<div id=top>
<div id=head>
<a href="http://ternjs.net" class=title>Tern: <span class=subtitle>Intelligent JavaScript tooling</span>
</a><a href="doc/demo.html">Demo
</a><a href="doc/manual.html">Docs
</a><a href="https://github.com/marijnh/tern">Code</a>
</div>
</div>
<p>Tern is a stand-alone <strong>code-analysis engine</strong> for
JavaScript. It is intended to be used with a <a href="#plugins">code
editor plugin</a> to enhance the editor's support for intelligent
JavaScript editing. Features provided are:</p>
<ul>
<li>Autocompletion on variables and properties
<li>Function argument hints
<li>Querying the type of an expression
<li>Finding the definition of something
<li>Automatic refactoring
</ul>
<p>Tern is open-source (<a href="LICENSE">MIT license</a>), written in
JavaScript, and capable of running both
on <a href="http://nodejs.org">node.js</a> and in
the <a href="doc/demo.html">browser</a>.</p>
<h2><a id="plugins"></a>Editor plugins</h2>
<p>There is currently Tern support for the following editors:</p>
<ul>
<li><a href="doc/manual.html#emacs">Emacs</a>
<li><a href="https://github.com/marijnh/tern_for_vim">Vim</a>
<li><a href="https://github.com/marijnh/tern_for_sublime">Sublime Text</a>
<li><a href="http://brackets.io/">Brackets</a> (built in to the base editor)
<li><a href="https://github.com/mortalapeman/LT-TernJS">Light Table</a>
<li><a href="https://github.com/angelozerr/tern.java">Eclipse (and general Java API)</a>
</ul>
<p>Follow the links to find instructions on how to install the
plugins.</p>
<h2><a id="support"></a>Community and support</h2>
<p>There are two mailing lists for the project, a low-volume one for
announcements
at <a href="https://groups.google.com/forum/?fromgroups#!forum/tern-announce">tern-announce</a>,
and an open one where everyone can post
at <a href="https://groups.google.com/forum/?fromgroups#!forum/tern-dev">tern-dev</a>.
For reporting bugs, I prefer that you use
the <a href="https://github.com/marijnh/tern/issues?state=open">github
issue tracker</a>.</p>
<p>Code contributions are welcome, preferably
through <a href="https://github.com/marijnh/tern/pulls">pull
requests</a>.</p>
<p>The maintainer of the project
(<a href="mailto:[email protected]">Marijn Haverbeke</a>) is, in
principle, available for consulting work around Tern. Commercial
support contracts are also possible. Contact me for details.</p>
<h2><a id="docs"></a>Documentation</h2>
<p>The <a href="doc/manual.html">reference manual</a> should be your
first stop for figuring out how to use Tern.</p>
<p>If you are interested in the way the system works internally, take
a look at this <a href="http://marijnhaverbeke.nl/blog/tern.html">blog
post</a>.</p>
<h2><a id="releases"></a>Release history</h2>
<p class="release">13-01-2015: <a href="https://github.com/marijnh/tern/tree/0.8.0">Version 0.8</a></p>
<ul class="release-note">
<li>Support <code>@self</code> and <code>@typedef</code> in doc_comments plugin</li>
<li>Improved purging of stale properties on file reload</li>
<li>Much improved completion of properties in object literals</li>
<li>Added <code>fullDocs</code> option to retrieve entire doc comment blocks</li>
<li>Improved support for <code>defineProperty</code> and getter/setter properties</li>
<li>Support deleting files through requests to the server</li>
<li>Support <code>module</code> object in RequireJS's simplified CommonJS mode</li>
<li>Various small bugfixes (<a href="https://github.com/marijnh/tern/compare/0.7.0...0.8.0">full list of patches</a>)</li>
</ul>
<p class="release">14-08-2014: <a href="https://github.com/marijnh/tern/tree/0.7.0">Version 0.7</a></p>
<ul class="release-note">
<li>Further refinements of the RequireJS plugin's path resolution</li>
<li>Add <code>isKeyword</code> and <code>isProperty</code> fields to completion query JSON repsonses</li>
<li>Various small bugfixes (<a href="https://github.com/marijnh/tern/compare/0.6.2...0.7.0">full list of patches</a>)</li>
</ul>
<p class="release">06-06-2014: <a href="https://github.com/marijnh/tern/tree/0.6.2">Version 0.6.2</a></p>
<p class="release-note">Small update release that fixes a crash
affecting asynchronous loading of files.</p>
<p class="release">06-06-2014: <a href="https://github.com/marijnh/tern/tree/0.6.0">Version 0.6</a></p>
<ul class="release-note">
<li>Solves overload from pulling in huge dependency trees</li>
<li>Fixes various issues with stale information sticking around after file reload</li>
<li>Add support for a <code>~/.tern-config</code> default <a href="doc/manual.html#project_file">config file</a></li>
<li>Support a <a href="doc/manual.html#protocol"><code>timeout</code></a> field in requests, to limit their running time</li>
<li>Make it possible to load <a href="doc/manual.html#plugin_third_party">plugins</a> installed with <code>npm</code></li>
<li>Lots of small bugfixes (<a href="https://github.com/marijnh/tern/compare/0.5.0...0.6.0">full list of patches</a>)</li>
</ul>
<p class="release">10-10-2013: <a href="https://github.com/marijnh/tern/tree/0.5.0">Version 0.5</a></p>
<ul class="release-note">
<li>Improvements to the node plugin.</li>
<li>Experimental <a href="doc/manual.html#plugin_angular">Angular.js plugin</a>.</li>
<li>Rewrite of the <a href="doc/manual.html#condense"><code>condense</code></a> tool, tests added.</li>
<li>Better handling of “global” <code>this</code> in non-method calls.</li>
<li>Support <code>Array.<content></code>
and <code>Object.<key,value></code>-style types in
the <a href="doc/manual.html#plugin_doc_comment">doc_comment
plugin</a>.</li>
</ul>
<p class="release">12-08-2013: <a href="https://github.com/marijnh/tern/tree/0.4.0">Version 0.4</a></p>
<ul class="release-note">
<li>Several fixes for exponential running time on some inputs.</li>
<li>New IDO completion frontend for the Emacs mode.</li>
<li>Add missing <code>buffer</code> and <code>timers</code> modules to node plugin.</li>
<li>A few fixes to the <code>bin/condense</code> tool.
</ul>
<p class="release">10-07-2013: <a href="https://github.com/marijnh/tern/tree/0.3.0">Version 0.3</a></p>
<ul class="release-note">
<li>Better <code>this</code> handling.</li>
<li>Added underscore definition file.</li>
<li>Improved dependency resolution in node plugin.</li>
<li><code>node_exports</code> query type added.</li>
<li>Glob patterns in <code>loadEagerly</code>/<code>dontLoad</code> settings.</li>
</ul>
<p class="release">11-06-2013: <a href="https://github.com/marijnh/tern/tree/0.2.0">Version 0.2</a></p>
<ul class="release-note">
<li>Make the codebase Windows-safe.</li>
<li>Improved handling of large codebases.</li>
<li>Move comment parsing logic into a plugin (<code>doc_comment</code>).</li>
<li>Many bugfixes.</li>
</ul>
<p class="release">03-05-2013: <a href="https://github.com/marijnh/tern/tree/0.1.0">Version 0.1</a></p>
<p class="release-note">First numbered release. Should be considered
beta status, but useable enough to test.</p>