Skip to content

Repository files navigation

Mapper for SobaScript components and their nodes.

-- #SobaScript

Extensible Modular Scripting Programming Language.

https://github.com/3F/SobaScript

Build statusrelease-srcLicenseNuGet package

Build history

License

Licensed under the MIT License

Copyright (c) 2014-2019 Denis Kuzmin < x-3F@outlook.com > GitHub/3F

[ ☕ Donate ]

SobaScript.Mapper contributors: https://github.com/3F/SobaScript.Mapper/graphs/contributors

Mapper

This helps to describe your component for code completion (Intellisense), for generating the documentation files, etc.

PropertyAttribute

To describe the properties. For example:

[Property("propertyName","Description of the property",CValType.Boolean,CValType.Boolean)]publicstringyourLogic(){
...}
[Property("IsBuildable","Gets or Sets whether the project or project item configuration can be built.","find","stProjectConf",CValType.Boolean,CValType.Boolean)]

Basic Syntax:

[Property(stringname,stringdescription,CValTypeget,CValTypeset)]
[Property(stringname,stringparent,stringmethod,CValTypeget,CValTypeset)]

Note:

  • An optional parent argument is used for linking to parent property/method/etc.
  • An method argument must contain the real method name who implements the parent element (property/method etc.)

MethodAttribute

To describe the methods/functions. For example:

[Method("call","Caller of executable files with arguments.",newstring[]{"name","args"},newstring[]{"Executable file","Arguments"},CValType.Void,CValType.String,CValType.String)]protectedstringstCall(stringdata,boolstdOut,boolsilent){
...}

Basic Syntax:

[Method(stringname,stringdescription,CValTyperet,paramsCValType[]args)]
[Method(stringname,stringparent,stringmethod,CValTyperet,paramsCValType[]args)]

Note:

  • An optional parent argument is used for linking to parent property/method/etc.
  • An method argument must contain the real method name who implements the parent element (property/method etc.)

ComponentAttribute

To describe the new component. For example:

[Component("File","I/O operations")]publicclassFileComponent:Component,IComponent{
...}

Basic Syntax:

[Component(stringname,stringdescription)]

Aliases

[Component("Primary",new[]{"Alias1","Alias2","Alias3"},"description")]

DefinitionAttribute

To describe the any definition. For example:

[Definition("(true) { }","Conditionals statements\n\n(1 > 2) {\n ... \n}")]publicclassConditionComponent:Component,IComponent{
...}
[Definition("var name","Get data from variable the 'name'")][Definition("var name = data","Set the 'data' for variable the 'name'")]

Syntax:

[Definition(stringname,stringdescription)]

About

Mapper for SobaScript components and their nodes.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages