Giter Site home page Giter Site logo

bash-bastion / bash-object Goto Github PK

View Code? Open in Web Editor NEW
27.0 27.0 0.0 3.04 MB

Manipulate heterogenous data hierarchies in Bash.

Home Page: https://bash-bastion.github.io/bash-object/

License: Mozilla Public License 2.0

Shell 98.95% Dockerfile 1.05%
basalt bash shell

bash-object's People

Contributors

hyperupcall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bash-object's Issues

Add `-p`-like flag to `set-*`

Similar to mkdir, it might be quite useful to have an option to automatically create parent objects. If an index is within the query, it should error (only creating objects, not arrays, should be supported)

Enable `--force` flag to set

This allows to set a value on the object hierarchy in the following conditions

  • if an object of the same type already exists
  • if an object of a different type already exists

Rename object refs

Rename some of the variables created with -n, so there aren't any recursive / name clashing when a variable name happens to be the same as the name of the variable that is its corresponding nameref

Improved error reporting

When there is a conflict object/array/string, print the whole object, array, or string and print where in the hierarchy it is located

Improve treequery parser

The querytree parser is a bit primitive. It works, but it would be nice to be able to do [""] for only part of the query tree (rather than requiring it for all elements). I don't like querytree="${querytree}.". Rewrite the advanced parser, and parse character by character with an index, rather than using while IFS= read -rN1 char. That way, lookahead peeks are free

Deallocate object

Have some unset-like subcommand comment to unset all virtual objects of a hierarchy, starting from any particular virtual object (primarily including the root object)

Reduce subshell usage `declare -p`

Don't use declare -p - instead use ${var@a} or ${var@A} on supported Bash versions

This is blocked on integrating CI with relevant Bash versions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.