File: languagebasedtools.rst

package info (click to toggle)
python-enaml 0.19.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,284 kB
  • sloc: python: 31,443; cpp: 4,499; makefile: 140; javascript: 68; lisp: 53; sh: 20
file content (154 lines) | stat: -rw-r--r-- 4,792 bytes parent folder | download
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
.. _languagebasedtools:

====================
Language-Based Tools
====================

Language-based tools are software that operate on programming languages,
including Integrated Development Environments (IDEs) and others.

Many of these tools can be configured to recognise the syntax of a .enaml file,
and thus provide syntax-colouring, indenting support and other features.

Enaml comes bundled with a number of configuration files for common IDEs and
other tools.

`BBEdit`_
----------------------------

BBEdit is a commercial MacOS IDE from `Bare Bones`_.

An Enaml language library for BBEdit is provided in the source at
``tools/barebones/``

For installation instructions, see the `BBEdit Support pages`_.

.. _BBEdit: https://www.barebones.com/products/bbedit/
.. _Bare Bones: https://www.barebones.com/
.. _BBEdit Support pages: https://www.barebones.com/support/bbedit/plugin_library.html

`GNU Emacs`_
------------

GNU Emacs is a popular, cross-platform, open-source IDE.

An Enaml mode for Emacs is provided in the source at ``tools/emacs``.

For installation instructions, see in the source at
``tools/emacs/README.rst``

.. _GNU Emacs: https://www.gnu.org/software/emacs/

`TextMate`_
-----------

TextMate is a commercial MacOS IDE.

An Enaml language definition for TextMate is provided in the source tree at
``tools/sublimetext``.


For installation instructions, see the `TextMate Manual`_.

.. _TextMate: https://macromates.com/
.. _TextMate Manual: https://macromates.com/manual/en/language_grammars#language_grammars

`Sublime Text`_
---------------

Sublime Text is a cross-platform, commercial IDE.

Sublime Text can also use the TextMate language definition at
``tools/sublimetext/Enaml.tmLanguage``.

The preferred method to access it is to use the Sublime Package Manager.
Alternatively, the files can be obtained on `Github`_ and manually used.

For installation instructions, see the `Sublime Text manual`_.

.. _Github: https://github.com/nucleic/sublimetext-enaml-syntax
.. _Sublime Text: https://www.sublimetext.com/
.. _Sublime Text manual: http://docs.sublimetext.info/en/latest/extensibility/packages.html#installing-packages


`Visual Studio`_
----------------

Visual Studio is a commercial IDE for Windows and MacOs from Microsoft.

Visual Studio can also use the TextMate language definition at
``tools/sublimetext/Enaml.tmLanguage``.

For installation instructions, see the
`Visual Studio manual`_.

Alternatively, there is a third-party Visual Studio extension, `enaml-vs`_ available
free from the Visual Studio Marketplace, which offers simpler installation of the
same definitions.

.. _Visual Studio: https://visualstudio.microsoft.com/
.. _Visual Studio manual: https://code.visualstudio.com/docs/extensions/themes-snippets-colorizers
.. _enaml-vs: https://marketplace.visualstudio.com/items?itemName=mdartiailh.enaml-vs

.. warning::
    Third-party plugins are not supported by the Enaml team.


`PyCharm`_
----------------


PyCharm is a cross-platform, freemium Python IDE from JetBrains.

PyCharm can also use the TextMate language definition at
``tools/sublimetext/Enaml.tmLanguage``.

For installation instructions, see the `TextMate Bundles support plugin`_
manual.

Alternatively, there are two third-party PyCharm plugins to add basic syntax
support for Enaml:

* `pycharm-enaml-plugin`_
* `pycharm-enaml-keywords`_

.. warning::
    Third-party plugins are not supported by the Enaml team.

.. _PyCharm: https://www.jetbrains.com/pycharm/
.. _TextMate Bundles support plugin: https://www.jetbrains.com/help/pycharm/2018.1/tutorial-using-textmate-bundles.html
.. _pycharm-enaml-plugin: https://github.com/pberkes/pycharm-enaml-plugin
.. _pycharm-enaml-keywords: https://github.com/vahndi/pycharm-enaml-keywords

`Vim`_
------
Vim is a popular, cross-platform, charityware text editor.

Enaml syntax and indent files are available at ``tools/vim``.

For installation instructions, see in the source at
``tools/vim/README.rst``

.. _Vim: https://www.vim.org/

`Pygments`_
-----------

Pygments is an open-source generic syntax highlighter. It is used by
`Sphinx`_ to format code included in project documentation.

An Enaml lexer for Pygments is available at ``tools/pygments``.

To install, change into the ``./tools/pygments`` directory, and run
``pip install -e .``.

Alternatively, it can be installed directly from `PyPi`_: ``pip install pygments-enaml``

Once this is installed, it will be automatically used by Sphinx to format
Enaml code blocks (i.e. `code directives`_, with `enaml` as the language
argument.)

.. _Pygments: http://pygments.org/
.. _Sphinx: http://www.sphinx-doc.org/
.. _code directives: http://docutils.sourceforge.net/docs/ref/rst/directives.html#Code
..  _PyPi: https://pypi.org/project/pygments-enaml/