Skip to content

Releases: magicant/yash-rs

yash-fnmatch-1.0.1

01 Oct 02:27
yash-fnmatch-1.0.1
Compare
Choose a tag to compare

[1.0.1] - 2022-10-01

Fixed

  • A bug where an Ast containing an empty collating symbol or equivalence class in a BracketItem::Atom was producing a malformed regex rather than returning an Error::EmptyCollatingSymbol.

yash-arith-0.1.0

01 Oct 02:26
yash-arith-0.1.0
Compare
Choose a tag to compare

[0.1.0] - 2022-10-01

Added

  • Fundamental items for performing arithmetic expansion

yash-syntax-0.5.0

02 Jul 04:17
Compare
Choose a tag to compare

[0.5.0] - 2022-07-02

This version contains variety of fixes.

Added

  • parser::lex::Keyword::is_clause_delimiter
  • parser::lex::Operator::is_clause_delimiter
  • parser::lex::TokenId::is_clause_delimiter
  • impl std::error::Error for parser::Error
  • source::pretty::MessageBase
    • impl MessageBase for parser::Error
    • impl<'a, T: MessageBase> From<&'a T> for source::pretty::Message<'a>

Changed

  • syntax::CommandSubst::content from String to Rc<str>
  • parser::Error now non_exhaustive
  • parser::Error::UnexpectedToken renamed to InvalidCommandToken
  • parser::Parser::maybe_compound_list now returning an InvalidCommandToken
    error if the list is delimited by a token that is not a clause delimiter.
  • Dependency versions
    • async-trait 0.1.52 → 0.1.56

Removed

  • impl<'a> From<&'a parser::Error> for source::pretty::Message<'a>

yash-fnmatch-1.0.0

02 Jul 04:20
Compare
Choose a tag to compare

[1.0.0] - 2022-07-02

The first release.

Added

  • Fundamental items for pattern matching
    • Pattern, Config, Error
    • PatternChar, with_escape, without_escape
    • ast
      • Ast, Atom, Bracket, BracketItem, BracketAtom

yash-syntax-0.4.0

27 Feb 06:53
Compare
Choose a tag to compare

[0.4.0] - 2022-02-27

This version modifies the definition of source::Location so it refers to a
range of source code characters rather than a single character.

Added

  • parser::lex::Lexer::location_range

Changed

  • source::Location::index: usize replaced with range: Range<usize>
  • The following functions now taking the start_index: usize parameter instead of opening_location: Location:
    • parser::lex::Lexer::arithmetic_expansion
    • parser::lex::Lexer::command_substitution
    • parser::lex::Lexer::raw_param
    • parser::lex::WordLexer::braced_param
  • The following functions now returning Result<Option<TextUnit>> instead of Result<Result<TextUnit, Location>>:
    • parser::lex::Lexer::arithmetic_expansion
    • parser::lex::Lexer::raw_param
    • parser::lex::WordLexer::braced_param

Removed

  • parser::lex::PartialHereDoc
  • source::Location::advance

yash-syntax-0.3.0

06 Feb 14:51
Compare
Choose a tag to compare

[0.3.0] - 2022-02-06

This version simplifies type definitions for the abstract syntax tree (AST); syntax::HereDoc::content is now wrapped in RefCell to remove generic type parameters from RedirBody and other AST types.

Changed

  • source::Source now non_exhaustive
  • syntax::HereDoc::content redefined as RefCell<Text> (previously Text)
  • impl From<HereDoc> for RedirBody replaced with impl<T: Into<Rc<HereDoc>>> From<T> for RedirBody
  • parser::Lexer::here_doc_content now taking a &HereDoc parameter and returning Result<()>
  • parser::Parser::memorize_unread_here_doc now taking an Rc<HereDoc> parameter

Removed

  • parser::Parser::take_read_here_docs
  • parser::Fill
  • parser::MissingHereDoc
  • Generic type parameters of AST types RedirBody, Redir, SimpleCommand, ElifThen, CaseItem, CompoundCommand, FullCompoundCommand, FunctionDefinition, Command, Pipeline, AndOrList, Item, List in the syntax module

yash-syntax-0.2.0

02 Feb 16:00
Compare
Choose a tag to compare

[0.2.0] - 2022-02-03

Previously, source code attribution attached to ASTs was line-oriented. The
attribution now contains a whole fragment of code corresponding to a complete
command.

Added

  • source_chars
  • Lexer::pending
  • Lexer::flush
  • impl Default for input::Context

Changed

  • Items in the source module:
    • Line renamed to Code
    • Location's field line renamed to code
    • Location's field column replaced with index
    • Code's field value wrapped in the RefCell
    • Annotation's field location changed to a reference
    • Annotation's field code added
    • Annotation's method new added
  • Items in the input module:
    • Result redefined as Result<String, Error> (previously Result<Code, Error>)
    • Error redefined as std::io::Error (previously (Location, std::io::Error))
    • Context now non_exhaustive
    • Memory::new no longer taking a Source parameter
  • Lexer::new now requiring the start_line_number and source parameters
  • Dependency versions
    • async-trait 0.1.50 → 0.1.52
    • futures-util 0.3.18 → 0.3.19
    • itertools 0.10.1 → 0.10.3

Removed

  • Code::enumerate
  • Lines
  • lines

yash-quote-1.0.0

02 Feb 15:59
Compare
Choose a tag to compare

[1.0.0] - 2022-02-03

No changes. Just bumping the version number to make the public API stable.

yash-syntax-0.1.0

11 Dec 11:51
Compare
Choose a tag to compare

[0.1.0] - 2021-12-11

Added

  • Functionalities to parse POSIX shell scripts
  • Alias substitution support

yash-quote-0.1.0

11 Dec 11:49
Compare
Choose a tag to compare

[0.1.0] - 2021-12-11

Added

  • The quote function