esc

Contents

  • User Manual
  • Developer Manual
    • Operations
    • Unit Handling
    • Menus
    • Constants
    • Modes
    • Debugging
    • Class Reference
esc
  • Developer Manual
  • View page source

Developer Manual

The esc developer manual documents the API and internals of esc and describes how you add custom functionality and change the behavior of esc. If you’re looking for information on installing or running esc or performing calculations, you want the User Manual.

If you haven’t built an esc plugin before, start with the Operations section, which walks you through creating a plugin that implements a simple operation.

Contents

  • Operations
    • Creating a plugin
    • Writing a function
    • Creating an @Operation
      • Operation()
    • Writing tests
      • TestCase
    • Putting it all together
    • Handling errors
      • InsufficientItemsError
      • FunctionExecutionError
  • Unit Handling
    • Built-in unit handling behaviors
      • additive_unit_handling
      • multiplicative_unit_handling
      • divisive_unit_handling
      • power_unit_handling
      • root_unit_handling
      • preserve_unit_handling
      • no_output_unit_handling
      • no_input_unit_handling
      • unspecified_unit_handling
    • Custom unit handling behaviors
      • UnitHandler
      • UnitExpression
      • UnitDecimal
      • Example unit handler
    • Testing unit handlers
  • Menus
    • Creating new menus
      • Menu()
    • Adding to existing menus
  • Constants
    • Constant()
  • Modes
    • Working with modes
      • Mode()
      • ModeChange()
      • Mode
      • get()
      • register()
      • set()
    • Example
  • Debugging
    • ProgrammingError
  • Class Reference
    • EscCommands
      • EscCommand subclasses
      • Loading EscCommands
    • StackItems
      • StackItem
    • Registry
      • Registry
    • Exceptions
      • EscError
      • Execution errors
      • Programming exceptions
      • Miscellaneous exceptions
Previous Next

© Copyright 2019-2026, Soren Bjornstad.

Built with Sphinx using a theme provided by Read the Docs.