GithubHelp home page GithubHelp logo

bfck's Introduction

Nah... I'll do my README.md later... ๐Ÿ˜ช

bfck's People

Contributors

gus-caribe avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

bfck's Issues

Implement backspace

Add --backspace flag (defaults to false) to allow the previous character prompted to be erased when backspace is output.

Bfck Help

The "help" command runner's default behavior is being bypassed by the application's presentation.

Steps to reproduce the error:

  • Execute: bfck help

Expected:

  • Application usage.

Obtained:

  • Application presentation.

Suggestion to fix the error:

Replace lib/command_runners/bfck_command_runner.dart:70.

  • From:
    _containsHelp = topLevelResults['help'] as bool;
  • To:
    _containsHelp = (
    topLevelResults["help"] as bool
    || topLevelResults.command?.name == "help"
    );

Suppress warnings

Add the --suppress-warnings flag (defaults to false). It allows that, when the --error-mode option is set as "ignore", the runtime warnings won't be shown.

Trying to manipulate non-existing cells

When executing the application with the option --cells-limit set with a given value, the application does not instantiate cells that exceed the limit, but does not block the attempt to increment/decrement the non-existing cells.

The error is only shown when --error-mode=ignore is enabled. If not, the application terminates before trying to manipulate the cells.

Steps to reproduce the error:

  • Create a file named "main.bf" in the working directory with the following content: >>>>>>>>>>++++++++++.
  • Execute: bfck run --cells-limit=2 --error-mode=ignore

Expected:

The application should avoid the pointer from moving to the right and also avoid the unreferenced cell from being incremented/decremented.

Obtained:

The applications correctly avoids the pointer from moving to the right, but does not block the manipulation of the non-existing cell thai is being pointed to.

Suggestion to fix the error:

Alter lib/structures/cell_array.dart.
Validate pointer and throw Exception on increment() and decrement() methods.

Log executions

Add the --log-at option, that allows the user to choose a directory to store and analyze what happened to the stack during application execution.

That option should work along with the --verbose flag (defaults to false). If true, --verbose will make the application store absolutely every operation that is performed in every single instantiated cell. If false, the app will only log the warnings and errors (of course, if the option --log-at contains any value).

There's also another option that should be implemented, which is --log-mode (options: append, truncate [defaults to append]). That should allow the user to choose between appending the logs of a new execution to the end of an existing file or overwriting the file's current content.

Refactor READ.me

  • Make the introduction impersonal;
  • Change versioning paradigm (prefix should represent a way of using the application);
  • Add usage examples;
  • Add the option of configuring the executables in the operating system's PATH environment variable;
  • Add the option of installing the application via the APT, Pacman or Chocolatey package managers;
  • For MacOS support, add campaign to help the developer buy a MacBook to allow the build to be done;
  • For cryptocurrency donations, add an independent Bitcoin wallet.

Create Nightly and Develop branches

Create Nightly and Develop branches.

  • Hotfixes will be applied directly to the Master branch and will be pulled from the other active branches;
  • New features will be commited to the Develop branch, through the use of Epics;
  • As soon as the unit tests are covered (directly on Develop branch), the features can be brought to the Nightly branch;
  • Nightly releases should be published the same way as Stable releases built from Master branch;
  • Packs of features validated in Nightly releases are brought to the Stable releases (commited to Master) periodically;
  • Features that were proven to be risky, unstable or undesirable will be sometimes discontinued and their use will be discouraged by the use of warnings (both for Nightly and Stable releases). There won't be support for discontinued features, but their use will remain possible. We do not believe in invalidating legacy code by removing deprecated implementations from future releases as this causes much mode trouble to the end user than executing untable features.

Make releases available

Make available the following releases:

  • Bfck Stable

    • For Linux
    • For Windows
  • Bfck Nightly

    • For Linux
    • For Windows

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.