• Stars
    star
    246
  • Rank 164,726 (Top 4 %)
  • Language
    Python
  • Created over 10 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

wxpython + python based Editor

What is UliPad

Ulipad is a wxPython powered, programmer oriented and flexible editor. It has many features such as class browser, code auto-complete, html viewer, directory browser, wizard and many others. The most interesting and distinctive feature is the use of mixin technique which makes Ulipad an easy-to-extend programming environment. You can write your own mixins, plugins or simple scripts, and all of them can be integrated in Ulipad in a seamless way.

Why named it UliPad?

The name comes from Claudio Grondi (thank you!).

Claudio Grondi said:

As we are on the way to make NewEdit THE programmer editor I think, that a new unique name will help here much (NewEdit is just cheap...).

I suggest to use 'UliPad'.

It has the shortcut of UnLImited. It tells it is a plain text editor (Pad). It tells something about the original author (LImodou).

But the most important advantage is:

Google has no entry for 'UliPad' yet!

Wonderful! It seems many people like it.

Description

UliPad uses Mixin and Plugin technique as its architecture. Most of its classes can be extended via mixin and plugin components, and finally become an integrity class when creating the instance. So UliPad is very dynamic. You can write the new features in new files, and hardly need to modify the existing code. And if you want to extend the existing classes, you could write mixins and plugins, and this will be bound to the target class that I call "Slot Class". This technique will make the changes centralized and easily managed.

Requirements:

  • Python 2.6+
  • wxPython 2.8+ Unicode Version

Some plugins may have additional requirements, please read the readme information before installing them.

Objective

Make a clean, powerful, flexible general editor, and even an application framework. And adding extensions should be very easy.

Tasks:

  • Mixin and Plugin framework
  • Unicode support
  • User defined plugin management
  • User custom window integration
  • User custom wizard function

Change Log

You can see the ChangeLog to know the new changes of UliPad.

Features

  • Cross platform

    • based on wxPython, so it can run anywhere that wxPython works, such as: Windows, Linux.
    • Unicode support.
  • Most features of wxStyledTextCtrl(Scintilla)

    • Syntax highlighting, support Python, c/c++, html, plain text
    • Folding
    • Brace Matching
    • ...
  • Extended selection

    • Extended word selection -- You can press Ctrl+MouseDoubleClick to select a word including '.'

    • Matched selection -- Select text in quoted chars like: (), [], {}, '', "".

      For example: a string just like

      def func(self, 'This is a test'):
                 ^
      

      The '^' char represents caret position in above line. If you press Ctrl+E, you will select the whole text in (), i.e. "self, 'This is a test'". Something more in Selection Menu.

  • Other editing extension

    • Duplicating text -- Just like Vim Ctrl+V, Ctrl+P, and more. You can duplicate above or below char, word, line which match the leading chars.
    • Quoting text -- Add some quoted chars before and after selected text, just as: "", '', (), [], {}, and customized string, etc.
    • Text convertion and view -- python -> html, reStructured Text -> html, textile -> html, and you can output or view the html text in message window, or html view window, or replace the selected text.
    • Utf-8 encoding auto detect
    • Changing document encoding
    • Auto backup
    • Last session support -- It'll save all the filenames as closed, and reopen the files as next started.
    • Smart judge the indent char -- It'll auto guess the indent char, and sets it.
    • Finding in files
    • Bookmark supports
  • Python support

    • built-in python interactive window based on PyShell, support Unicode
    • Auto completion
    • Function syntax calltips
    • Run, run with argument, stop python source
    • Auto change current path
    • Python class browser
    • Syntax and PEP8 style checking๏ผŒalso supply a pylint plugin.
  • Code snippets

    You can manage your code snippets with categories, and each category can have many items. Every item will represent a code snippet. You can insert an item just by double-clicking on it. It even supports importing and exporting.

  • Simple project support

    Can create a special file _project, so every file and folder under the folder which has the _project can be considered as a whole project.

  • Extension mechanism

    • Script -- You can write easy script to manipulate the all resource of UliPad, just like: text conversion, etc.
    • Plugin -- Customized function. More complex but more powerful. Can easily merge with UliPad, and can be managed via menu.
    • Shell command -- Add often used shell commands, and execute them.
  • Ftp support

    You can edit remote files through ftp. You can add, rename, delete, upload, download file/directory.

  • Multilanguage support

    Currently supports 4 languages: English, Spanish, Simplified Chinese and Traditional Chinese, which can be auto-detected.

  • Ships many plugins (must be configed as used them before)

    • Django support plugin
    • Batch rename files plugin
    • Collaborative Programming support plugin, names as pairprog.
    • Mp3 player plugin
    • Spell check plugin
    • wizard plugin
    • Text to speech(windows only) plugin
    • ...
  • Shipped scripts

    • You can find them in ($UliPadInstalled)/scripts.
  • Wizard

    You can make your own wizard template. The wizard can input user data, combine with template, and output the result. And wizard also support code framework created. This feature will help you improving coding efficiency.

  • Direcotry Browser

    Browse multiple directories, and you can really add, delete, rename directories and files. Double click will open the file in Editor window.

  • AutoComPlete(acp)

    Suport user autocomplete file, it can help to input code very helpful and functional.

  • Column Editing Mode

    You can select multilines, and then set a column mode region, so in any line of this region, if you enter a character, other lines will also add this character. If you want to deal with multilines as a similar mode, this functionality will be very handy.

  • Smart Navigation

    UliPad can remember the visit order of your opened files, and you can go back or go forward in these files.

  • Live regular expression searching

    You can type some regular expression on the fly, and see the result dynamiclly.

  • Spell check plugin

    Need to install PyEnchant module.

  • Collaborative Programming

    Multi-user can modify some files at the same time. You should enable pairprog plugin.

  • Todo Supports

    Auto finds todos and supports several kind of formats.

  • Multi-View Supports

    User can open a document in multi views, for example in left pane or bottom pane.

  • Version Control Support

    • svn support. Now you can use svn in UliPad to update, checkout, commit, etc.

How to run

Just download the source code and extract to any folder, and then execute:

python ulipad.pyw

or

python ulipad.py

License

UliPad is released under GPL license.

More Repositories

1

uliweb

Simple and easy use python web framework
Python
468
star
2

uli-gantt

JQuery gantt plugin, based on d3.js and mmGrid
JavaScript
40
star
3

parm

Convert par favorit markdown syntax to html document, supports semantic-ui and bootstrap css framework.
JavaScript
38
star
4

Win32-Process-Watcher

Monitor the execution status of the processes in windows platform.
Python
35
star
5

wshell

web shell written by python and gevent
JavaScript
35
star
6

avalon-learning

Simple avalon tutorial, see the site:
JavaScript
29
star
7

uliweb-doc

Uliewb documentation project and source code
Python
29
star
8

ido

A command tool used to install packages and execute commands.
Python
24
star
9

vue-remote-import

Import remote VUE component via url
JavaScript
23
star
10

plugs

uliweb apps collcection project
JavaScript
23
star
11

uliwebzone

uliweb discuss zone
Python
22
star
12

par

simple parsing implementation in python
Python
22
star
13

xltools

Excel template reader and writer tools
Python
21
star
14

uliweb3

Simple and easy use python web framework for python3+
Python
15
star
15

codepark

code park
HTML
10
star
16

wewo

An simple workflow
Python
8
star
17

desktopnotify

An js lib to invoke browser notification api
JavaScript
8
star
18

vuecoms

Vue components lib
Vue
8
star
19

vuecoms2

Vue + iView based component lib, mainly provide Grid and Build
Vue
7
star
20

rgrid

riot grid plugin
JavaScript
7
star
21

vuecoms-doc

vuecoms documentation
Shell
6
star
22

2to6

Porting python 2 source code to python 3 and compatible with six module
Python
6
star
23

chatroom

A chatroom app of uliweb, based on gevent-socketio
CSS
3
star
24

uliweb-admin

Admin app about uliweb
JavaScript
3
star
25

uliweb-apps

collection uliweb apps, but it's based on uliweb_layout, uliweb_ui, also shipped a demo project
Python
2
star
26

works

Content and Task management tools
JavaScript
2
star
27

uliweb-blogs-demo

Uliweb multi user blog project demo
JavaScript
1
star
28

ctasks

project management tool
1
star