citrus 0.5.0 copy "citrus: ^0.5.0" to clipboard
citrus: ^0.5.0 copied to clipboard

A template generator which complex file structures can be defined in a single Yaml File.

0.5.0 #

  • constant object array
    • Add TemplateFileSetting.constantObjectArraySymbols
    • Add CitrusObjectArray.fromYamlList()
    • Add ObjectArraySymbol.fromYamlMap()
    • Edit ObjectArraySymbol.fromChainAndTemplateFileSetting()
  • escape sequence
    • Special
      • Add EndAngleBracket
      • Add StartAngleBracket
      • Add Asterisk
    • SecondLayerSyntax
      • Keyword
        • Add EscapeSequenceKeyword
        • Add NewLineEscapeSequenceKeyword
        • Add SpaceEscapeSequenceKeyword
        • Add EndCurlyBracketEscapeSequenceKeyword
        • Add StartCurlyBracketEscapeSequenceKeyword
        • Add EndParenthesisEscapeSequenceKeyword
        • Add StartParenthesisEscapeSequenceKeyword
        • Add EndAngleBracketEscapeSequenceKeyword
        • Add StartAngleBracketEscapeSequenceKeyword
        • Add EqualOperatorEscapeSequenceKeyword
        • Add PeriodEscapeSequenceKeyword
        • Add SharpEscapeSequenceKeyword
        • Add UnderbarEscapeSequenceKeyword
        • Add AsteriskEscapeSequenceKeyword
      • Edit Identifier.result()
        • 分岐の追加
          • NewLineEscapeSequenceKeyword
          • SpaceEscapeSequenceKeyword
          • EndCurlyBracketEscapeSequenceKeyword
          • StartCurlyBracketEscapeSequenceKeyword
          • EndParenthesisEscapeSequenceKeyword
          • StartParenthesisEscapeSequenceKeyword
          • EndAngleBracketEscapeSequenceKeyword
          • StartAngleBracketEscapeSequenceKeyword
          • EqualOperatorEscapeSequenceKeyword
          • PeriodEscapeSequenceKeyword
          • SharpEscapeSequenceKeyword
          • UnderbarEscapeSequenceKeyword
          • AsteriskEscapeSequenceKeyword
          • IntegerModulus
          • Anonymous
        • 分岐の廃止
          • InvalidIdentifier
      • Add IntegerModulus
        • InvalidIdentifier の中でも整数の絶対値として有効なもの.
      • Add Anonymous
        • IntegerModulus 以外の InvalidIdentifier.
    • ThirdLayerSyntax
      • RepeatBlock < + EscapeSequenceKeyword + * + IntegerModulus + >
    • Edit RootCitrusSyntax.fromFinishSource()
    • MatureCitrusSemantic
      • Add EscapeSequence
    • RootCitrusSemantic
      • Edit Finish.fromRootCitrusSyntax()
  • Disable indent in block sandwich syntax
    • for と if の block で挟まれた それぞれの行の開始の連続する space(indent) と 開始と終了の改行 を一定の条件のもと削除する.
      • 一定の条件...block で挟まれた部分の semantic の数が 3 以上の場合.
        • 改行は1つで1つの semantic として数える. 改行が2つあれば2つの semantic として数える.
        • indent は行の開始から連続する space を1つのsemantic として数える.
        • 内部の処理の意味のある塊(semantic)で数えるため詳細な挙動は source code を読んで把握するしかない.
        • 始めにある indent の長さを基準とする.
          • 基準以上の長さの indent はその超過分だけ削除されずに残る.
    • SecondLayerSyntax
      • Add Indent
      • Add IndentVerify
    • Edit RootCitrusSyntax.fromFinishSource()
    • MatureCitrusSemantic
      • Add NormalConstantPart
      • Add IndentConstantPart
      • Add NewLineConstantPart
      • Edit ConstantPart.fromDerivationCitrusSyntax()
      • Add FinishCitrusSemanticList.forBlockSandwichContent()
      • Edit ForBlockSandwich.resolve()
      • Edit IfBlockSandwich.resolve()
  • Enumerate command(Multiple Commands Management)
    • Update bpriver_chain: ^0.11.0
    • Add bpriver_box: ^0.1.1
    • Edit CitrusObject.toChainString()
    • Edit ForAloneBlock.resolve()
    • Edit Define.resolve()
    • Edit CitrusRequest.fromChain()
    • Edit CitrusResponse.serialize()
    • Add EnumerationFileSetting
    • Add GlobalArgument
    • Add FlagArgument
    • Add MultipleArgument
    • Add SingleArgument
    • Add EnumerateRequest
  • Unnecessary
    • Delete Tab
    • Delete WhiteSpace

0.4.1 #

  • 全角文字をtemplateに使用した際のFormatExceptionが発生するbugへの対応
  • Update file_system_model library
    • ^6.0.0
  • Update bpriver_debug library
    • ^0.11.8

0.4.0 #

  • Summary of changes
    • Debugging Ease Improvements
    • Add Constant User Defined Symbol
    • Add Version Request
    • Add File System Control(Frame)
      • frame の入れ子はできない.
        • 下記は無効 x(for a in b): y(for c in d): some text
  • Detail
    • Add CitrusTextArray.toPrimitive()
    • Add ObjectValuable.fromDynamic()
    • Add CitrusObject.fromDynamic()
    • Add CitrusObject.toChainString()
    • Add TextArraySymbol.fromYamlMap()
    • Edit TextArraySymbol.fromChainAndTemplateFileSetting()
    • Add FlagSymbol.fromYamlMap()
    • Edit FlagSymbol.fromChainAndTemplateFileSetting()
    • Add ObjectSymbol.fromYamlMap()
    • Edit ObjectSymbol.fromChainAndTemplateFileSetting()
    • Add TextSymbol.fromYamlMap()
    • Edit TextSymbol.fromChainAndTemplateFileSetting()
    • Edit TemplateFileSetting.fromYamlMap()
    • Edit CitrusSymbolTableStruct.firstStage()
    • Syntax
      • Add AloneBlock
      • Edit InJoinExpression.from()
      • Add InExpression
      • Add Accesserable
      • Add RootCitrusSyntax.fromFrameSource()
      • Add RootCitrusSyntax.fromFinishSource()
      • Add RootCitrusSyntax.fromProtectSource()
    • Semantic
      • Add MultipleAccesser
      • Add SingleAccesser
      • Add ForBlockAlone
      • Add IfBlockAlone
      • Add Finish
      • Add Frame

0.3.1 #

  • Edit README.md

0.3.0 #

  • Major Changes

0.2.0 #

  • Change multiple package pattern to single package pattern for project design
  • Change AGPL license to BSD2 license.
  • if 文を true 文, false 文 へ変更.

0.1.0 #

  • Initial version.
0
likes
140
points
201
downloads

Publisher

verified publisherbpriver.com

Weekly Downloads

A template generator which complex file structures can be defined in a single Yaml File.

Repository (GitLab)
View/report issues

Topics

#template #generator

Documentation

API reference

License

BSD-2-Clause (license)

Dependencies

bpriver_box, bpriver_chain, bpriver_origin, bpriver_syntax_scanner, bpriver_yaml, change_case, file_system_model, path, yaml

More

Packages that depend on citrus