sysl

module
v0.111.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2020 License: Apache-2.0

README

Sysl

Match your system implementation and design as consistent as possible

Latest Release Codecov FOSSA Status

GitHub Actions Release status GitHub Actions Go-Darwin status GitHub Actions Go-Linux status GitHub Actions Go-Windows status

Sysl (pronounced "sizzle") is a open source system specification language. Using Sysl, you can specify systems, endpoints, endpoint behaviour, data models and data transformations. The Sysl compiler automatically generates sequence diagrams, integrations, and other views. It also offers a range of code generation options, all from one common Sysl specification.

The set of outputs is open-ended and allows for your own extensions. Sysl has been created with extensibility in mind and it will grow to support other representations over time.

Usage Examples

Sysl by Example is a hands-on introduction to Sysl using annotated examples.

Installation

There are several approaches to get start using Sysl. See the install page for details.

Documentation

Documentation is hosted live at https://sysl.io.

Contributing

We encourage contributions to this project! Please have a look at the contributing guide for more information.

Contributors

This project exists thanks to all the people who contribute.

Versioning

We use Semver for versioning. For the versions available, see the releases on this repository.

License

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details

Directories

Path Synopsis
cmd
demo
main.go
examples/Code-Generation/gen/jsonplaceholder
Code generated by sysl DO NOT EDIT.
Code generated by sysl DO NOT EDIT.
examples/Code-Generation/gen/simple
Code generated by sysl DO NOT EDIT.
Code generated by sysl DO NOT EDIT.
examples/Code-Generation/internal/server
server.go contains all the manual config code that is used to implement the generated sysl
server.go contains all the manual config code that is used to implement the generated sysl
docs
nolint
pkg
cfg
ebnfparser
Code generated by "ωBNF gen" DO NOT EDIT.
Code generated by "ωBNF gen" DO NOT EDIT.
importer/openapi2conv
Package openapi2conv converts an OpenAPI v2 specification to v3.
Package openapi2conv converts an OpenAPI v2 specification to v3.
loader
package loader loads a source file into a sysl Module
package loader loads a source file into a sysl Module
lspimpl
Package lsp implements LSP for gopls.
Package lsp implements LSP for gopls.
lspimpl/lspframework/jsonrpc2
Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec.
Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec.
lspimpl/lspframework/jsonrpc2/servertest
Package servertest provides utilities for running tests against a remote LSP server.
Package servertest provides utilities for running tests against a remote LSP server.
lspimpl/lspframework/lsp/debug
Package debug exports debug information for gopls.
Package debug exports debug information for gopls.
lspimpl/lspframework/lsp/helper
Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go invoke in lspframework/lsp
Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go invoke in lspframework/lsp
lspimpl/lspframework/lsp/protocol
Package protocol contains the structs that map directly to the wire format of the "Language Server Protocol".
Package protocol contains the structs that map directly to the wire format of the "Language Server Protocol".
lspimpl/lspframework/lsp/telemetry
Package telemetry provides the hooks and adapters to allow use of telemetry throughout gopls.
Package telemetry provides the hooks and adapters to allow use of telemetry throughout gopls.
lspimpl/lspframework/span
Package span contains support for representing with positions and ranges in text files.
Package span contains support for representing with positions and ranges in text files.
lspimpl/lspframework/telemetry
Package telemetry provides an opinionated set of packages that cover the main concepts of telemetry in an implementation agnostic way.
Package telemetry provides an opinionated set of packages that cover the main concepts of telemetry in an implementation agnostic way.
lspimpl/lspframework/telemetry/export
Package export holds the definition of the telemetry Exporter interface, along with some simple implementations.
Package export holds the definition of the telemetry Exporter interface, along with some simple implementations.
lspimpl/lspframework/telemetry/export/ocagent
Package ocagent adds the ability to export all telemetry to an ocagent.
Package ocagent adds the ability to export all telemetry to an ocagent.
lspimpl/lspframework/telemetry/log
Package log is a context based logging package, designed to interact well with both the lsp protocol and the other telemetry packages.
Package log is a context based logging package, designed to interact well with both the lsp protocol and the other telemetry packages.
lspimpl/lspframework/telemetry/metric
Package metric aggregates stats into metrics that can be exported.
Package metric aggregates stats into metrics that can be exported.
lspimpl/lspframework/telemetry/stats
Package stats provides support for recording telemetry statistics.
Package stats provides support for recording telemetry statistics.
lspimpl/lspframework/telemetry/tag
Package tag provides support for telemetry tagging.
Package tag provides support for telemetry tagging.
lspimpl/lspframework/telemetry/trace
Package trace adds support for telemetry tracing.
Package trace adds support for telemetry tracing.
lspimpl/lspframework/telemetry/unit
Package unit holds the definitions for the units you can use in telemetry.
Package unit holds the definitions for the units you can use in telemetry.
lspimpl/lspframework/xcontext
Package xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package.
Package xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package.
lspimpl/lsprpc
Package lsprpc implements a jsonrpc2.StreamServer that may be used to serve the LSP on a jsonrpc2 channel.
Package lsprpc implements a jsonrpc2.StreamServer that may be used to serve the LSP on a jsonrpc2 channel.
mod
msg
printer
package printer prints out sysl datamodels back to source code using the Printer struct.
package printer prints out sysl datamodels back to source code using the Printer struct.
testrig
Package testrig provides tools for generating standalone test environment for sysl generated services
Package testrig provides tools for generating standalone test environment for sysl generated services
unsorted

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL