The DiddiScript Editor Guide

This editor, built with the Python standard tools tkinter and idlelib, is a Tk app focused in the DiddiScript language.

Commands to activate the editor

The easiest way is the diddiscript-editor command, included with the DiddiParser 2 Python package.

Also, since it’s included in the DiddiParser 2 package, it can be called with Python, via python -m diddiparser2.editor. See diddiparser2.editor for related information.

On a clone of the GitHub repository, you can also run a Nox session for generating the editor with the latest code, via the nox -s generate-editor command.

Design of the editor

The editor is pretty simple: it is a text widget, with a menu that provides all the necessary options (see their options below).

Editor’s options and tools

A quick guide to the options of the editor’s menu.

About…

Display useful information as separate windows.

About DiddiScript

A quick introduction to DiddiScript. It is the main docstring of diddiparser2.

About DiddiParser 2

Information about the DiddiScript parser. It is the docstring of diddiparser2.parser.

About this editor

Information about the DiddiScript editor.

File

Modify or manage the file stuff.

New file

Clear the text entry, as an empty file.

If the editor has something more than spaces or newlines, it will ask you to select an option: save (“Yes”), don’t save (“No”) or cancel (“Cancel”).

Save As…

Open a “Save As” dialog, and save the current contents.

Save

If you’re already on a file, save without asking. If not, do the same than the Save As function.

Open…

Open an existing file.

Run

Run DiddiScript stuff. Logs are shown in console.

Compile code

Run the DiddiScript code in “compile only” mode.

Run code

Run the DiddiScript code.

Settings

Modify settings to customize your experience.

Set verbosity

Decide to set verbosity or not.

If set, the parser will behave on verbose mode. For example, it will echo the functions and notify other events.

Set suffix ignoring

Decide to set suffix ignoring or not.

If set, the editor won’t raise a warning if a file to open does not have the DiddiScript suffix (*.diddi).

Themes

Modify the themes (see below for detailed reference).

Load themes from a JSON file

Load custom themes from a JSON file (see the “Load customized themes” section below). It will ask each time it finds a valid theme on the file. If you accept, the theme will be registered.

See all the themes

In a separate window, show all the themes and their information.

Set theme

This menu will display a child menu, with all the available themes to select and apply.

Themes

New in version 1.2.0.

You can customize the DiddiScript editor using themes. By default, we have provided you these themes:

  • Light DiddiScript: A simple light theme.

  • Dark DiddiScript: A simple dark theme.

Load customized themes

We support customized themes loaded from a JSON file. The “Load themes from a JSON file” option from the editor will let you select a JSON file, and try to load themes from it.

The format of the JSON, to be accepted, is a dictionary or a list of dictionaries, where each dictionary represents a “theme”. The dictionaries should have this keys:

  • name: A text with the theme’s name. It will be used everywhere.

  • description: An optional text with a description of the theme.

  • background: The color of the theme’s background.

  • regular-text: The foreground of regular text.

Examples of valid colors: red, #cfd3d7.

Here we have a few examples of accepted JSON files:

{
  "name" : "My theme",
  "description" : "A personal theme.",
  "background" : "#ffffff",
  "foreground" : "green"
}
[
  {
    "name" : "One theme",
    "background" : "whitesmoke",
    "regular-text" : "gray"
  },
  {
    "name" : "Another theme",
    "description" : "A theme different to 'One theme'.",
    "background" : "black",
    "regular-text" : "white",
  }
]