-
Notifications
You must be signed in to change notification settings - Fork 0
/
Python3Bundle.todo
83 lines (72 loc) · 1.6 KB
/
Python3Bundle.todo
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
General:
+ Output formatting
+ Prettyprint stack trace, link to source
- Fix command UUID weirdness
Actions:
- Run in terminal
- Debug
- Strip trailing whitespace
- Project templates
tm-properties, tests/, .pytest, etc.
Use dialog for naming. Make current.
Settings:
- Indentation behaviour
- Folding
- Symbol list
- Typing pairs
Snippets:
- Class
class ${1:ClassName}(${2:object}): #
${3/.+/"""/}${3:docstring for $1}${3/.+/"""\n/}${3/.+/\t/}def __init__(self${4/([^,])?(.*)/(?1:, )/}${4:arg}): #
${5:super($1, self).__init__()}
${4/(\A\s*,\s*\Z)|,?\s*([A-Za-z_][a-zA-Z0-9_]*)\s*(=[^,]*)?(,\s*|$)/(?2:\t\tself.$2 = $2\n)/g} $0
- Method
def ${1:mname}(self${2/([^,])?.*/(?1:, )/}${2:arg}): #
${3:pass}
- Self
self.
- Function
def ${1:fname}(${2:`if [ "$TM_CURRENT_LINE" != "" ]
# poor man's way ... check if there is an indent or not
# (cuz we would have lost the class scope by this point)
then
echo "self"
fi`}): #
${3/.+/"""/}${3:docstring for $1}${3/.+/"""\n/}${3/.+/\t/}${0:pass}
- Magic
__${1:init}__
+ Triple quotes
+ ifmain
+ hashbang
- idioms
- property
- try clauses
-
Grammar:
Needs thinking...
Pytest:
Needs thinking...
- Run test
- Run all tests
- Snippets
Jedi:
+ Completion
+ Quick docs
- Docs
- Goto definition
- Goto usage
- Refactoring support?
Yapf:
Maybe
Linter:
Maybe `pylint`, `pychecker`, `pyflakes`, `pep8`, `flake8`
-
Archive:
---- 2020-08-16 14:32:56 ----
+ Run
x Need more basic commands to be on par with default bundle
x Integrate Jedi
x Integrate pytest
x Integrate Linting
x Integrate Testing
x Python project template command