Package org.ek9lang.cli
package org.ek9lang.cli
A-1 - Start here for the main command-line entry use of the compiler.
Designed for the command line interface to the EK9 compiler. This will produce final executable code.
The class Ek9 is the 'main' entry point into the compiler from the command line.
All of the commands that the cli can handle are contained within this package,
processing via the commandLineDetails triggers one or more commands 'E' and derivatives.
-
ClassDescriptionDeals with handling the command line options for the compiler.Holds the command line help text only.Holds the sets of command line options that have been configured for use.A context to hold all the essential objects needed for compiling.Holds mutable compilation state that can be updated throughout the execution chain.Manages HTML coverage report resources.Package metadata extracted from EK9 source files.Formats coverage output for display after test execution.Detailed coverage format that displays human-readable output AND writes detailed coverage report to .ek9/coverage-detail.json.HTML coverage format that generates an interactive dashboard and source views.Human-readable coverage format with line/method/branch breakdown.JaCoCo-compatible XML format for CI/CD integration.JSON coverage format for AI/tool integration.Terse coverage format for scripting.Verbose/full coverage format that displays BOTH covered AND uncovered items.Deals with managing dependencies of EK9 modules.Represents a single dependency by moduleName and version.Why was a dependency rejected.Creates DependencyNodes by using a Source Visitor on some EK9 source files that have a package defined in it.Metadata about a discovered @Test program including its validation type.Abstract base for the command line EK9 commands.HERE FOR
Ek9Compiler(COMPILER) ENTRY.Clean a project down.Deploy a package / all packages inside the project directory.Check and pull all dependencies in.Do a full recompile of all sources inside project.Generate signing keys.Install a package to your own $HOME/.ek9/lib directory.Just does an incremental build if possible.Just increments a version number.Main entry point into the compiler, build system and language server.Designed only to be used on the front end of the compiler to access properties files that are in the .ek9 directory just off the same directory as the file that the compiler was asked to compile.Provides syntax highlighting for EK9 source code using the actual EK9 lexer.Do packaging for package / all packages inside the project directory.Print the version number of the package.Run the application that has been built or is already built.Analyzes compilation errors to determine if input is incomplete or has real errors.Use to explicitly set a feature name on a package.Used to explicitly set the version of a package.Run all unit tests inside a project.Base for the versioning commands.The version.Because we need access to the full file list or partial file list filtered.Human-readable test output formatter (-t or -t1).JSON test output formatter (-t2).JUnit XML test output formatter (-t3).Executes JVM bytecode test programs in-process.Designed to hold all the global sort of settings for the language and compiler.Calculates line number translations between buffer indices and actual source lines.Handles REPL meta-commands (commands starting with ':').Result of command handling, including any message to display.Executes native LLVM-compiled test programs as subprocesses.Once the EK9 'Edp' dependency module has determined that a packaged module now needs to be resolved it will call upon this resolver to make sure that it is available.Provides parse tree traversal operations for symbol lookup.Matches expected output containing {{Type}} placeholders against actual output.Main REPL (Read-Eval-Print-Loop) implementation for EK9.Handles compilation of REPL input to bytecode.Result of a REPL compilation attempt.Tab completion for the EK9 REPL.Simple syntax highlighter for EK9 REPL.Defines the different modes the REPL can operate in.Manages the REPL session state including mode, source buffers, and defined symbols.Result of processing a single line of input.Visitor that extracts content from a parsed EK9 file for loading into the REPL.Manages sectioned source buffers for the REPL.Result of a buffer operation that found a match.Snapshot of all buffers for undo support.Represents a section with its buffer and metadata.Assembles EK9 source code from sectioned buffers.Terse test output formatter (-t0).Represents a single test case (possibly one of many for parameterized tests).Discovers test cases from expected output files for black-box testing.Error codes for test configuration and execution problems.Validates test configuration and reports errors with proper error codes.A test configuration issue with error code, location, message, and optional suggestion.Abstraction for executing compiled EK9 test programs.Result of executing a test program.Output format for test results.Represents an EK9 program marked with @Test directive.Represents the result of executing a single @Test program or test case.Interface for formatting test results in different output formats.Discovers and executes @Test programs from compiled EK9 source.Classification of @Test program types based on validation mechanism.Extracts tokens (keywords, operators, identifiers) from a line at a cursor position.Update/Upgrade the EK9 compiler itself.