Skip to main content

Coding IDE/Client for LambdaMOO style servers

Project description

MooCoderPy

Python/Tkinter version of Moocoder

MooCoder is an IDE for programming MOO Code in LambdaMOO or similar servers. It incorporates a built in MOO/MUSH client, supports the local edit option, and allows you to load and edit object verbs in different tabs. It supports syntax highlighting, jump to error location and a stack trace window.

This should run on Python 3.6 (or better) and uses the tkinter with no external dependencies.

The original Delphi implementation can be found at https://github.com/rjmatthews62/MooCoder

Installation

Can be installed via pip:

  • pip install moocoderpy-rjmatthews62
  • python -m MooCoderPy

Setup

  • Setup -> Server Config : set server address (and port)
  • File -> Connect - Connect to server
  • File -> Disconnect - Disconnect from server
  • File -> Open - Open a local file in the editor

External Editor support:

If you set @edit-option local+ on your MOO server, the @edit command will be redirected to MooCoderPy's internal editor. Selecting Edit->Send Update (or F5) will issue the correct command to update whatever you are currently editing. Each edited item will have its own tab, and you can use the test line as for the verbs.

Project->New Tab (Ctrl+N) - Loads a verb into its own tab. Press F5 to compile.

Project->Get Verbs (Ctrl+Shift+V) - Load all the verbs for an object into the verbs window. You can double click in the Verbs pane to edit that verb.

Project->Clear Project - Close all code windows and clear verb list

View->Toggle View Ctrl+Shift+Y - Toggle between terminal and previous edit view.

Basic error checking and stack trace implemented.

Syntax Highlighting implemented.

Command History is supported using the up and down arrow keys

Each code window has an optional single-line test command which will run on successful compile (F5)

Bracket Matching implemented

Right-Click in code window will bring up a context menu.

  • Goto Line Ctrl+G will got to a line no in a code window.
  • Find Ctrl+F - find text in current window
  • Find Again F3 - repeat last find
  • Replace Ctrl+H - search and replace text
  • Refresh Ctrl+R - Reload page from server
  • Redo Syntax - redo syntax highlighting on page
  • Close - Close current window.
  • Undo - Ctrl+Z - undo last changes
  • Redo - Shift+Ctrl+Z - redo last changes

A double-click on an error message or stack trace in either the stack or the main terminal window will go the the relevent source code.

TODO

Enable tests for local edits. Shortcut key to toggle between terminal and last edit page.

Release History

0.3.5 - Fixed bug with Ctrl+N adding to verb list

0.3.4 - External edit can have test lines, Ctrl+Shift+T toggle view, additional detail shown in edit window.

0.3.3 - External edit now opens in a seperate tab per item, supports syntax.

0.3.2 - Double-click on error messages or stack to go to source line.

0.3.1 - Fixed windows maximized for linux environment

0.3.0 - Fixed disconnect handling issue, set default window state to maximized.

0.2.9 - Tweaked selection handling.

0.2.8 - Replace working, Undo and Redo implemented

0.2.7 - Additional icon error checking.,

0.2.6 - Bracket Matching

0.2.5 - removed unwanted checkbox import

0.2.4 - Edit find, context menu, refresh, close, clear

0.2.3 - Added Syntax highlighting, Goto Line, Cursor Location

0.2.2 - Added Auto-test functionality

0.2.1 - Sorting out window icon on linux

0.2.0 - Fighting with packaging tools

0.1.9 - Type definition fix for older pythons and include icon in package.

0.1.5 - Added icon, tidied up Verb window sizing and include docstring in verb window.

0.1.4 - Get Verb and Verbs window working.

0.1.3 - Edit Verb (Edit->New Tab)

0.1.2 - Show version, added F5 shortcut, save recent history, set config file to home folder.

0.1.1 - Added external editor support, command history

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MooCoderPy-rjmatthews62-0.3.5.tar.gz (136.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

MooCoderPy_rjmatthews62-0.3.5-py3-none-any.whl (134.8 kB view details)

Uploaded Python 3

File details

Details for the file MooCoderPy-rjmatthews62-0.3.5.tar.gz.

File metadata

  • Download URL: MooCoderPy-rjmatthews62-0.3.5.tar.gz
  • Upload date:
  • Size: 136.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for MooCoderPy-rjmatthews62-0.3.5.tar.gz
Algorithm Hash digest
SHA256 a92aaa03796303efc6787545890684240c445a19f7f85c0212c8502bf17f1cb0
MD5 ab6a545ebc29043114b8c93a3c8be9f0
BLAKE2b-256 6a1c5c8db022c43aa51eb98b663df7eef0d2e863b8158fe75256a039c9c3256a

See more details on using hashes here.

File details

Details for the file MooCoderPy_rjmatthews62-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: MooCoderPy_rjmatthews62-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 134.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for MooCoderPy_rjmatthews62-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fafe4e01f660e611eabce3ecc833f664b853114102f809aa40a1f0f50a8d45a8
MD5 076409ea374a9c84db8d1ab19708e004
BLAKE2b-256 4ef845ef9f7ce246cd5eb65c416ce621b43376720517780903ae9f5f5f21b0f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page