GithubHelp home page GithubHelp logo

anthrax3 / fiddle Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mrousavy/fiddle

0.0 1.0 0.0 839 KB

๐Ÿ“œ A lightweight code editor for editing, compiling and running code snippets/scripts supporting multiple languages and rich GUI

License: MIT License

C++ 0.55% C 47.67% C# 41.65% Java 0.03% Lua 0.01% Python 0.02% Visual Basic 0.04% Inno Setup 9.86% Batchfile 0.09% Shell 0.09%

fiddle's Introduction

Fiddle

Fiddle is a lightweight tool to edit, compile and run simple scripts/snippets in any of the supported languages.
โš ๏ธ Fiddle requires .NET Framework v4.6 or above (download) โš ๏ธ

AppVeyor Build Download Total downloads

Languages

ToDo's

Screenshots

Fiddle Demo Slideshow (See all screenshots)

Why?

The purpose of Fiddle is to simplify the Task of quickly creating small code snippets, like file-rename-scripts.

Instead of: Open Visual Studio -> (wait) -> File -> New -> New Project -> .NET -> Console App -> (enter name) -> Create -> (wait) -> Open Program.cs -> Write code -> Build -> (wait) -> Start

Do: Open Fiddle -> Write code -> Start

Features

These features apply to all imported languages

  • Rich UI thanks to the Material Design in XAML library
  • Editing code with custom syntax highlighting
  • Compiling code with result view including diagnostic messages, error messages and even line markers
  • Executing/Evaluating code/scripts and viewing results (+ expanding arrays/collections)
  • Customizing settings and resuming last session (window position, location, code, etc)
  • Saving code to file
  • Loading code from file (via drag and drop)
  • Seamlessly switching between languages

Cache

A directory will be created at %appdata%\Fiddle containing Preferences.json (crash reports will be stored as "error.txt").

Preferences.json can be edited with the Settings window in Fiddle or by manually changing it via any text editor. However, the settings window cannot modify the imports[], DefaultCode and window dimensions/cursor position properties, this is not fully implemented. For now you can use Preferences.json to manually edit these.

Build from Source

Contributing

  1. Fork Fiddle and clone the fork.
  2. Make changes
    • Make bugfixes or other changes

      .. or ..

    • Add a new Compiler

      1. Create new classes in Fiddle.Compilers\Implementation\[LanguageName]\:
        • ..\[LanguageName]Compiler.cs : ICompiler
        • ..\[LanguageName]CompileResult.cs : ICompileResult
        • ..\[LanguageName]Diagnostic.cs : IDiagnostic
        • ..\[LanguageName]ExecuteResult.cs : IExecuteResult
      2. Implement Interface functions and Constructor(s) (Example: CSharp\CSharpCompiler.cs)
      3. Add Language Name (filename-friendly) to Fiddle.Compilers\Host.Language enum with user-friendly [Description("..")] Attribute
      4. (Optionally) Add Language to file-extension converter functions in Fiddle.UI\Helper.cs (Fiddle.UI\Helper.GetFilterForLanguage(..), ..)
      5. (Optionally) Add Syntax highlighting definition to Fiddle.UI\Syntax\[LanguageName].xshd
      6. (Optionally) Add Documentation (using this template, or this example) to Doc\[LanguageName].md and linking it in Doc\README.md
  3. Commit & Push
  4. Create a new pull request (on your fork)

fiddle's People

Contributors

mrousavy avatar

Watchers

 avatar

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.