Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/textplugin_templates.py')
-rw-r--r--release/scripts/textplugin_templates.py123
1 files changed, 0 insertions, 123 deletions
diff --git a/release/scripts/textplugin_templates.py b/release/scripts/textplugin_templates.py
deleted file mode 100644
index 8f949563ac0..00000000000
--- a/release/scripts/textplugin_templates.py
+++ /dev/null
@@ -1,123 +0,0 @@
-#!BPY
-"""
-Name: 'Template Completion | Tab'
-Blender: 246
-Group: 'TextPlugin'
-Shortcut: 'Tab'
-Tooltip: 'Completes templates based on the text preceding the cursor'
-"""
-
-# Only run if we have the required modules
-try:
- import bpy
- from BPyTextPlugin import *
- from Blender import Text
-except ImportError:
- OK = False
-else:
- OK = True
-
-templates = {
- 'ie':
- 'if ${1:cond}:\n'
- '\t${2}\n'
- 'else:\n'
- '\t${3}\n',
- 'iei':
- 'if ${1:cond}:\n'
- '\t${2}\n'
- 'elif:\n'
- '\t${3}\n'
- 'else:\n'
- '\t${4}\n',
- 'def':
- 'def ${1:name}(${2:params}):\n'
- '\t"""(${2}) - ${3:comment}"""\n'
- '\t${4}',
- 'cls':
- 'class ${1:name}(${2:parent}):\n'
- '\t"""${3:docs}"""\n'
- '\t\n'
- '\tdef __init__(self, ${4:params}):\n'
- '\t\t"""Creates a new ${1}"""\n'
- '\t\t${5}',
- 'class':
- 'class ${1:name}(${2:parent}):\n'
- '\t"""${3:docs}"""\n'
- '\t\n'
- '\tdef __init__(self, ${4:params}):\n'
- '\t\t"""Creates a new ${1}"""\n'
- '\t\t${5}'
-}
-
-def main():
- txt = bpy.data.texts.active
- if not txt:
- return
-
- row, c = txt.getCursorPos()
- line = txt.asLines(row, row+1)[0]
- indent=0
- while indent<c and (line[indent]==' ' or line[indent]=='\t'):
- indent += 1
-
- # Check we are in a normal context
- if get_context(txt) != CTX_NORMAL:
- return
-
- targets = get_targets(line, c-1);
- if len(targets) != 1: return
-
- color = (0, 192, 32)
-
- for trigger, template in templates.items():
- if trigger != targets[0]: continue
- inserts = {}
- txt.delete(-len(trigger)-1)
- y, x = txt.getCursorPos()
- first = None
-
- # Insert template text and parse for insertion points
- count = len(template); i = 0
- while i < count:
- if i<count-1 and template[i]=='$' and template[i+1]=='{':
- i += 2
- e = template.find('}', i)
- item = template[i:e].split(':')
- if len(item)<2: item.append('')
- if not inserts.has_key(item[0]):
- inserts[item[0]] = (item[1], [(x, y)])
- else:
- inserts[item[0]][1].append((x, y))
- item[1] = inserts[item[0]][0]
- if not first: first = (item[1], x, y)
- txt.insert(item[1])
- x += len(item[1])
- i = e
- else:
- txt.insert(template[i])
- if template[i] == '\n':
- txt.insert(line[:indent])
- y += 1
- x = indent
- else:
- x += 1
- i += 1
-
- # Insert markers at insertion points
- for id, (text, points) in inserts.items():
- for x, y in points:
- txt.setCursorPos(y, x)
- txt.setSelectPos(y, x+len(text))
- txt.markSelection((hash(text)+int(id)) & 0xFFFF, color,
- Text.TMARK_TEMP | Text.TMARK_EDITALL)
- if first:
- text, x, y = first
- txt.setCursorPos(y, x)
- txt.setSelectPos(y, x+len(text))
- break
-
-
-# Check we are running as a script and not imported as a module
-if __name__ == "__main__" and OK:
- main()