ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Python 3

by petervaro ST2/ST3 Top 100

Python 3 and Cython language bundles for Sublime Text and TextMate

Details

  • 2017.01.15.19.33.17
  • github.​com
  • github.​com
  • 7 months ago
  • 2 hours ago
  • 4 years ago

Installs

  • Total 118K
  • Win 62K
  • OS X 26K
  • Linux 30K
Aug 20 Aug 19 Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6
Windows 48 95 122 113 127 117 110 93 84 120 131 105 103 109 81 89 121 131 117 130 117 74 88 124 107 104 124 109 78 98 114 116 115 132 119 88 80 90 113 125 112 119 81 83 99 114
OS X 20 28 48 37 43 40 44 37 32 41 44 50 46 45 28 28 35 43 48 53 46 32 36 27 48 50 55 34 35 34 48 39 36 35 46 34 21 41 36 40 47 35 29 25 42 46
Linux 37 51 40 39 57 50 44 38 43 49 46 80 48 38 43 56 46 37 53 46 52 37 42 54 47 48 51 51 46 30 48 38 57 44 56 40 26 51 40 37 35 47 37 42 53 44

Readme

Source
raw.​githubusercontent.​com

Python and Cython language bundles

THE MOST POPULAR AND MOST FEATURE RICH PYTHON SYNTAX HIGHLIGHTER FOR SUBLIME TEXT AS OF TIME, OVER 75,000 DOWNLOADS)!

Bleeding-egde Python and Cython syntax highlighters and other goodies for Sublime Text 2/3 and TextMate editors.

(Or for any other editor, that is using the .tmLanguage syntax definition)

Preview

State of the Art

Below are some of the most important improvements compared to the existing syntax highlighters:

  • Added better number highlighting:
    • All types of floating point notations are working now;
    • All types of complex number notations are working now;
    • New types of binary and octal-number notations are supported;
    • Long integer is removed.
  • The ... syntax notation of Ellipsis is supported now.
  • Declaration rules are extended with nonlocal.
  • Ex-statements-now-functions (like print) are updated.
  • New Exception highlighting added.
  • New keywords async and await added.
  • Function annotations are now supported.
  • Conventional-language variable cls added.
  • Optional-comment-based string highlighting:
    • Better regex support (multiline, grouping, comments and more are improved).
    • Format specifier mini-language
    • Template strings
  • Matrix multiplication operator
  • String and byte literals:
    • Byte notation added;
    • Proper string prefixes added.
  • All the unused built-in and magic functions/methods are now removed.
  • All the unused keywords and notations are now removed.

Future plans

  • Combine optional-comment-based string highlighters, eg. # syntax:re+fmt
  • Add optional-comment-based external language support, eg: # syntax:sql, for starters these should be SQL, HTML and JSON
  • Create a better Twilight-based theme file.

Installation

Via Package Control

The fastest and easiest way to install these packages for Sublime Text is the following:

  1. Install Package Control
  2. Open ToolsCommand Palette
  3. Select Package Control: Install Package
  4. Search for Python 3 and Cython+ packages and install them
  5. Happy coding ;)

Set as default

After you installed the language definition file successfully, all you have to do is assign the .py files to always open with this syntax highlighter. Go to

ViewSyntaxOpen all with current extension as...Python 3

To remove this setting, you can always overwrite this preference.

Manual installation

Download the tmLanguage files from the python and Cython branches of this repository. Navigate to your Packages folder and create a Python3 and/or a Cython folder(s) and copy the tmLanguage and sublime-build files into.

Theme file

If you want to use my Work-In-Progress theme file: navigate to Packages/User folder and copy Gloom.tmTheme into it. Then go to user-settings, and change your old color theme to the new one.

Contribute

Any help is appreciated and more than welcome – my goal is to make this the 'de facto' language bundle for python 3. If you want to submit a change, please use the following conventions when editing the original python files:

  • variables uses underscore_separated_names;
  • all files uses 4 spaces for indentation;
  • = and : operators are aligned if length of variable names are similar;
  • (, [ and { start a new line, if possible and reasonable;
  • each line must fit in the width 80 columns (code, text, etc.);
  • comment separators can be easily generated with the src.utils.separator() function

Appreciation

Thank you very much @joncle (Jon Clements) for all the support in general, @kms70847 (Kevin), @Ffisegydd (Keiron Pizzey), @schesis (Zero Piraeus) and @poke (Patrick Westerhoff) for the feedbacks, and of course thanks for all the wonderful members of the sopython chat room for supporting me in any ways! May the Cabbage be with us ;)

I also want to thank for all the loyal users of this package, and especially @rahul-ramadas (Rahul Ramadas) and @bordaigorl (Emanuele D'Osualdo) who were very active on giving me feedbacks, reports, etc.

License

Copyright © 2013 - 2017 Peter Varo

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program, most likely a file in the root directory, called 'LICENSE'. If not, see http://www.gnu.org/licenses.