Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Tool: Eiffel Class Editing Utilities

This project cluster has 49 classes.

ECF: eiffel.ecf

Source code: directory list

A "Swiss-army knife" of Eiffel class editing utilities invokeable by a command-line switch.

Sub-applications

This is a small selection of the many sub-applications in this utility. See Descendants below for full list.

NOTE_EDITOR_APP add default values to note fields using a source tree manifest.

Command switch: -edit_notes

FEATURE_EDITOR_APP expands Eiffel shorthand code in source file and reorders feature blocks alphabetically.

Command switch: -feature_edit

FIND_AND_REPLACE_APP finds and replaces text in Eiffel source files specified by a source tree manifest Command switch: -find_replace

SOURCE_LOG_LINE_REMOVER_APP comments out logging lines from Eiffel source code tree

Command switch: -elog_remover

CLASS_RENAMING_APP is an interactive shell for renaming classes defined by a source manifest file. Can also remove class name prefixes.

Command switch: -class_rename

Descendants of class EL_APPLICATION

EL_APPLICATION*
   PROJECT_MANAGER_APP
   EL_COMMAND_LINE_APPLICATION* [C -> EL_APPLICATION_COMMAND]
      LIBRARY_OVERRIDE_APP
      COMPILE_DESKTOP_PROJECTS_APP
      GITHUB_MANAGER_APP
      ECF_TO_PECF_APP
      PYXIS_TRANSLATION_TREE_COMPILER_APP
      PYXIS_ECF_CONVERTER_APP
      WINZIP_SOFTWARE_PACKAGE_BUILDER_APP
      CHECK_LOCALE_STRINGS_APP
      CLASS_DESCENDANTS_APP
      FEATURE_EDITOR_APP
      OPEN_GREP_RESULT_APP
      ZCODEC_GENERATOR_APP
      ID3_FRAME_CODE_CLASS_GENERATOR_APP
      SOURCE_MANIFEST_APPLICATION* [COMMAND -> SOURCE_MANIFEST_COMMAND]
         LIBRARY_MIGRATION_APP
         UPGRADE_DEFAULT_POINTER_SYNTAX_APP
         UPGRADE_LOG_FILTERS_APP
         UPGRADE_TEST_SET_CALL_BACK_CODE_APP
         UNDEFINE_PATTERN_COUNTER_APP
         CODE_METRICS_APP
         FIND_PATTERN_APP
         ENCODING_CHECK_APP
         REGULAR_EXPRESSION_SEARCH_APP
         CLASS_RENAMING_APP
         FIND_AND_REPLACE_APP
         NOTE_EDITOR_APP
            NOTE_DATE_FIXER_APP
         SOURCE_FILE_NAME_NORMALIZER_APP
         SOURCE_LEADING_SPACE_CLEANER_APP
         SOURCE_LOG_LINE_REMOVER_APP
      REPOSITORY_PUBLISHER_APPLICATION* [C -> EL_APPLICATION_COMMAND]
         IMP_CLASS_LOCATION_NORMALIZER_APP
         REPOSITORY_SOURCE_LINK_EXPANDER_APP
         REPOSITORY_NOTE_LINK_CHECKER_APP
         EIFFEL_VIEW_APP

Download

Download binary of el_eiffel for Ubuntu 14.04 or Linux Mint 17.x.

Directory: tool/eiffel/source/edit

. /apps

. /command

. /editor

. /editor/constants

. /editor/support

apps

CLASS_RENAMING_APP

Class renaming app for set of classes defined by source manifest

FEATURE_EDITOR_APP

Command line interface to command FEATURE_EDITOR_COMMAND for use as an EiffelStudio external tool

Further Information

Click on class link to see notes and instructions.

FIND_AND_REPLACE_APP

Find and replace operating on a source manifest file

FIX_CORRUPTION_APP

Command line interface to the command FIX_CORRUPTION_COMMAND.

Usage:

el_eiffel -fix_corruption -sources <dir-path/manifest-path>

NOTE_DATE_FIXER_APP

Fixes note dates with too many spaces as a result of a bug. For example

date: "2018-09-20 10:06:24 GMT (Thursday  20th  September  2018)"

NOTE_EDITOR_APP

Command line interface to NOTE_EDITOR_COMMAND

Further Information

Click on class link to see notes.

SOURCE_FILE_NAME_NORMALIZER_APP

Source file name normalizer app

SOURCE_LEADING_SPACE_CLEANER_APP

Command line interface to class SOURCE_LEADING_SPACE_CLEANER

SOURCE_LOG_LINE_REMOVER_APP

Command line interface to class SOURCE_LOG_LINE_REMOVER_COMMAND

UPGRADE_DEFAULT_POINTER_SYNTAX_APP

Command line interface to UPGRADE_DEFAULT_POINTER_SYNTAX_COMMAND

UPGRADE_LOG_FILTERS_APP

Upgrade syntax of Eiffel Loop logging filter arrays with commend UPGRADE_LOG_FILTERS_COMMAND

UPGRADE_TEST_SET_CALL_BACK_CODE_APP

Command line interface to class UPGRADE_TEST_SET_CALL_BACK_CODE

command

CLASS_FILE_NAME_NORMALIZER

Class file name normalizer

CLASS_RENAMING_COMMAND

Class renaming command for set of classes defined by source manifest

Further Information

Click on class link to see notes.

CLASS_RENAMING_SHELL_COMMAND

Command shell for renaming classes defined in a source tree manifest

Further Information

Click on class link to see notes.

FEATURE_EDITOR_COMMAND

A FEATURE_EDITOR for peforming expansions of code shorthand expressions.

FIND_AND_REPLACE_COMMAND

Find and replace command

FIX_BAD_NOTE_FIELDS_COMMAND

Fix note fields where the characters : "[ where being replaced with some bad bytes.

Further Information

Click on class link to see notes.

NOTE_DATE_FIXER_COMMAND

Fixes note dates with too many spaces as a result of a bug. For example

date: "2018-09-20 10:06:24 GMT (Thursday  20th  September  2018)"

NOTE_EDITOR_COMMAND

Command to edit the note fields of all classes defined by the source tree manifest argument by filling in default values for license fields list in supplied license_notes_path argument. If the modification date/time has changed, it fills in the note-fields. If changed, it sets the date note-field to be same as the time stamp and increments the revision number note-field.

OPEN_GREP_RESULT_COMMAND

Count classes, code words and combined source file size for Eiffel source trees

SOURCE_LEADING_SPACE_CLEANER

Cleans up spaces at start of source code lines that should not be there

Further Information

Click on class link to see notes.

SOURCE_LOG_LINE_REMOVER_COMMAND

Comment out logging lines in eiffel source specified by manifest

SOURCE_MANIFEST_EDITOR_COMMAND

Source manifest editor command

UPGRADE_DEFAULT_POINTER_SYNTAX_COMMAND

Command to change syntax of default_pointers references:

From

ptr /= default_pointer

To new

is_attached (ptr)

From

ptr = default_pointer

To new

not is_attached (ptr)

UPGRADE_LOG_FILTERS_COMMAND

Upgrade LOG filters command

UPGRADE_TEST_SET_CALL_BACK_CODE

Upgrade EL_EQA_TEST_SET descendants to use new initialization method for naming test routines instead of using call-backs.

Further Information

Click on class link to see notes.

editor

CLASS_LEADING_SPACE_EDITOR

Convert lines with leading spaces to tabs or remove them entirely

CLASS_NOTE_EDITOR

Class note editor

DATE_NOTE_EDITOR

Date note editor

FEATURE_EDITOR

Eiffel source-code feature editor extending class SOURCE_MODEL

FIND_AND_REPLACE_EDITOR

Find and replace editor

LOG_FILTER_ARRAY_SOURCE_EDITOR

Object that upgrades syntax of log filters FROM

Log_filter_old: ARRAY [TUPLE]
      --
   once
      Result := <<
         ["CREATE_RSA_KEY_PAIR_APP", "*", "run"],
         ["EL_RSA_KEY_PAIR", "*"]
      >>
   end

TO

Log_filter_new: ARRAY [like Type_logging_filter]
      --
   do
      Result := <<
         [{CREATE_RSA_KEY_PAIR_APP}, "*, run"],
         [{EL_RSA_KEY_PAIR}, "*"]

      >>
   end

LOG_LINE_COMMENTING_OUT_SOURCE_EDITOR

Objects that comments out and comments in 'log.xxx' lines

NOTE_EDITOR

Edits note fields of an Eiffel class if the modified date has changed from note field date. ("changed" means a difference of more than one second) If the class has changed then increment revision and fill in author, copyright, contact, license and revision fields.

UPGRADE_DEFAULT_POINTER_SYNTAX_EDITOR

Change syntax of default_pointers references:

ptr /= default_pointer TO is_attached (ptr)
ptr = default_pointer TO not is_attached (ptr)

editor/constants

FEATURE_CONSTANTS

Feature constants

NOTE_CONSTANTS

Note constants

editor/support

CLASS_NOTES

Class notes

CLASS_RENAMER

Object that renames occurrences of class name in Eiffel source text

EDIT_MANAGER

Manager for editing class

GEDIT_AT_LINE_COMMAND

Unix gedit command to open a file at specific line number

LICENSE_NOTES

Default license notes for Eiffel source. See class SOURCE_MANIFEST

MANIFEST_TUPLE_LINE

Eiffel source line containing manifest tuple for intialializing a table as for example:

["input_file_path", agent get_input_file_path]

NOTE_DATE_TIME

Date time parsing of note date field with format like:

2024-09-08 15:34:28 GMT (Sunday 8th September 2024)

NOTE_FIELD

Eiffel class note field name and text

NOTE_FIELD_LIST

Note field list

TUPLE_MANIFEST_ALIGNMENT_EDITOR

Align the right columns of an array of name-value tuples in some EDITABLE_SOURCE_LINES so the value item is left-justified.

Further Information

Click on class link to see notes.

VERBATIM_NOTE_FIELD

Verbatim note field