`
limodou
  • 浏览: 65717 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[UliPad]wxSnip in UliPad

阅读更多

Thanks Kibleur C. (http://kib2.webfactional.com/) for his wxSnip package, and I'v ported it into UliPad, you can get the lastest code from svn (http://cvs.woodpecker.org.cn/svn/woodpecker/ulipad/trunk). But wxSnip is not very suit for UliPad, because UliPad has its own InputAssistant functionality, so I changed wxSnip code and made it more suitable for UliPad. The source file in UliPad is named mixins/SnipMixin.py. And I made a SnipMixin class, it receives a `editor` argument, and not like in wxSnipEdit.py it's  SnipEditor. So I can merge this class into my own StyledTextCtrl object. And I also don't need the adding template string process, because InputAssistant functionality can do this, but I indeed fixed the indent bug when adding template string according wxSnipEdit. And I trigger the process of snippet field outside the SnipMixin class, so I bind the key_down event in my own editor class but not in SnipEditor class. So there are two method which I need to call:

start(self, tpl, start, end)

this function will be invoked after adding template string, and it comes from insertSnippet() method of SnipEditor, and it'll auto invoke the nextField() method.

nextField(self, pos)

this function will be invoked after you pressing the trigger keystroke Ctrl+] now.

And the snippet template is defined in a ACP(Auto Completion Pattern) file, you can find in conf folder of UliPad. Each syntax has such a file, such as Python.acp. For now, I made some example in python.acp, you can see:

[autore]
(^\s*)def<space> = \\1def ${1:method_name}(${2:}):\n\t'''${3:}'''\n\t${0}
(^\s*)cdef<space> = \\1def ${1:method_name}(self, ${2:}):\n\t'''${3:}'''\n\t${0}

The acp file is a ini-like file. If the value is quoted by double-quoter("), then it's just like a python string. If there is not, it just like a raw string. Notice, if there is a ',' in the string, you should quote it by double-quoter, just like:

"ab,cd"

If you don't quote it, it'll be treate as a list. So you'll see a popup list when the pattern is matched. And for keys, there are some special character representations just like: <space> (' '), <equal> ('='), <div> ('/'), <square> ('['), etc

分享到:
评论

相关推荐

    python编辑器Ulipad软件及安装详解

    本文将深入探讨Python编辑器Ulipad及其安装过程,旨在帮助初学者和经验丰富的开发者更好地理解如何利用Ulipad进行Python开发。 Ulipad是一款免费且开源的文本编辑器,专为Python设计,提供了丰富的代码高亮、自动...

    ulipad 二个版本

    "Ulipad"是一款开源的文本编辑器,主要面向编程人员和程序员,提供丰富的代码编辑功能。这款编辑器因其简洁的界面、强大的自定义能力和跨平台支持而受到用户喜爱。"二个版本"可能指的是Ulipad的不同更新版本或者特别...

    ulipad4.1 for linux

    "UliPad4.1 for Linux"是一款专为Linux用户设计的Python编程工具,它提供了丰富的功能和友好的用户界面,使得在Linux环境下进行Python开发变得更加便捷和高效。UliPad是一个多平台的源代码编辑器,尤其适合Python...

    ulipad.4.0.zip

    **UliPad 4.0:Python开发者的友好选择** UliPad 4.0 是一个专门为Python编程语言设计的集成开发环境(IDE),在Python的众多IDE中占据一席之地。它以其用户友好的界面和高效的功能集,为开发者提供了一个理想的...

    ulipad下配置SVN

    标题中的“ulipad下配置SVN”意味着我们要在Ulipad这个Python集成开发环境中设置Subversion(SVN)版本控制系统。Subversion是用于管理软件项目源代码版本的工具,它允许开发者跟踪代码更改,协作开发,并恢复旧版本...

    ulipad4源码版下载 python最好用的IDE

    ulipad4源码版是ulipad系列的最新版本,以其开源和可定制性受到了社区的热烈欢迎。对于那些希望深入了解软件工作原理并进行个性化定制的程序员来说,源码版提供了无限可能。通过下载源码,开发者可以直接参与代码...

    python编译器 ulipad 4.1 Windows环境

    Python 编译器是开发者用来将源代码转换成可执行程序的重要工具,而UliPad则是其中一款专为Python设计的轻量级编辑器。在Windows环境下,UliPad因其简洁易用的特性受到了许多用户的青睐。这款软件不仅提供基本的代码...

    ulipad python编辑器

    "ulipad python编辑器" 指的是Ulipad,这是一个专为Python编程设计的文本编辑器。它具有丰富的功能和友好的用户界面,旨在提高Python开发者的编程效率。 **描述解析:** 描述中提到"python非常好用的编辑器 中文的...

    UliPad 4.1 安装包及解决无法运行

    《UliPad 4.1 安装及运行问题详解》 UliPad是一款功能强大的文本编辑器,尤其受到程序员和代码工作者的青睐。本文将详细介绍UliPad 4.1的安装过程以及如何解决在运行过程中可能遇到的问题。首先,我们需要下载...

    ulipad.4.0

    "ulipad.4.0" 是一个专为Python编程设计的文本编辑器,它在编程社区中受到一些用户的喜爱,特别是那些寻求简洁且高效开发环境的个人用户。这款编辑器的主要特点是其对Python语言的良好支持,使得编写、调试和运行...

    ulipad.4.1

    "ulipad.4.1" 是一个专为Linux操作系统设计的应用程序,主要适用于Ubuntu和CentOS这两个流行的Linux发行版。Ulipad是一款开源的文本编辑器,它为程序员和开发者提供了一个轻量级且功能丰富的环境来编写代码。这款...

    ulipad4.1 for python2.7

    "ulipad4.1 for python2.7" 是一个专为Python 2.7版本设计的集成开发环境(IDE),旨在提供一个高效且用户友好的编程平台。这个IDE主要针对那些使用Python 2.7进行开发的程序员,尽管Python 3已经逐渐成为主流,但仍...

    UliPad 4.1 安装包及无法运行解决办法

    《UliPad 4.1 安装及故障排除指南》 UliPad是一款功能强大的文本编辑器,专为程序员和开发者设计,提供多种编程语言的支持。本文将针对UliPad 4.1的安装过程及可能出现的运行问题进行详尽的解析,帮助用户顺利使用...

    ulipad工具

    标题"ulipad工具"提及的是一个名为"Ulipad"的工具,这是一款专为Python编程设计的开发环境。"Python开发工具"进一步明确了Ulipad的功能,它是一个用于编写、调试和管理Python代码的软件。"简单"、"小巧"和"方便"三个...

    ulipad.4.0 最新版

    ulipad.4.0 最新版,不要分 ulipad.4.0 最新版,不要分 ulipad.4.0 最新版,不要分

    ulipad.4.1 for py27 带代码自动补全,小巧功能强大的编辑器

    《UliPad 4.1 for Py27:打造高效编程体验的利器》 UliPad,一个基于wxPython的编程编辑器,以其卓越的性能和丰富的功能,深受Python开发者的喜爱。这款编辑器的核心优势在于其内置的代码自动补全功能,为程序员...

    ulipad.4.1.zip

    **Ulipad编程环境详解** Ulipad,全名UliPad,是一款基于Python语言的高效、直观且功能丰富的编程编辑器。它以其强大的wxPython库作为基础,为程序员提供了强大的支持,尤其对于Python初学者和专业开发者而言,...

    ulipad.4.1.py27.exe

    ulipad.4.1.py27.exe不用介绍了把。

    ulipad编辑器

    ulipad for windows or linux toll

    python最全环境带Ulipad(智能提示)IDE+安装说明+傻瓜包

    "python最全环境带Ulipad(智能提示)IDE+安装说明+傻瓜包"提供了一套完整的解决方案,包含Python编译环境和Ulipad IDE,它带有智能提示功能,极大地提升了编程效率。 Ulipad是一款轻量级的Python IDE,特别适合初学...

Global site tag (gtag.js) - Google Analytics