Giter VIP home page Giter VIP logo

hussar's People

Contributors

imgbot[bot] avatar kscarlett 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  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hussar's Issues

Add compilation

It might be worth looking into LLVM, or other options. I would like to add compilation to remove the need for the tooling when running a script, as well as the speed improvement that comes from compilation.

Refactor all existing code

There are currently a couple of source files that are far too long and have no logical structure to them. Splitting them up into far more smaller files and dividing them into logical chunks would make it far easier to work with.

Plugin system for tooling

It would be beneficial to have a plugin system to allow for more commands in the core toolset.

This would allow for anyone to create a linter or testing tool, and make it available from the core tools.

The option I'm currently looking at to achieve this with is the plugin package. This comes with one major disadvantage: it does not support Windows currently.

We then have three options:

  1. Temporarily discontinue Windows support.
  2. Find another way of implementing plugins.
  3. Don't implement plugins.

If anyone has an opinion on this, I'd like to hear it.

Add Go modules

Adding Go modules support should be fairly trivial. There's not really any point in not doing it at this point.

Improve error handling

When reporting an error or warning, show the file, line number, and character where an error occurred. Possibly even show a printout of the code with an arrow like Rust does.

Improve config handling and add config command to show config

Is your feature request related to a problem? Please describe.
The current handling of config files isn't too clear, as the local directory can override it. It would be better if there were a command that can display the currently loaded config, in the same vein as hussar env.

Describe the solution you'd like
A hussar config or hussar config show command to show the currently loaded config variables (and if possible, where they're set from).

Set up error reporting for core tooling

Using a service like sentry.io will give a lot more insight into what some critical errors may be.

There should probably be a flag to get in the config file to disable analytics like this.

Add a standard library

Adding string handling methods, filesystem I/O and networking would make the language more powerful and easier to use.

Add automatic updating of tooling

Check GitHub releases when running the tool and ask the user if they want to update if a newer version is found. If the user does not want to update, save that and don't ask again for 24 hours.

Add debugging support

Add debugging support, either using a custom debugger or dlv.

This will require some tooling (a debug command) and some runtime changes to expose the correct information.

Add support for more types

More types like distinguishing between integers, longs, floating point, etc would make the language more powerful.

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.