Skip to content

appsedvna/MetaStego

Repository files navigation

downloads Current stable version

MetaStego

This project is a port of AvalonEdit, a WPF-based text editor for Avalonia.

Cuckoo supports features like:

  • Syntax highlighting using TextMate grammars and themes.
  • Code folding.
  • Code completion.
  • Fully customizable and extensible.
  • Line numeration.
  • Display whitespaces EOLs and tabs.
  • Line virtualization.
  • Multi-caret edition.
  • Intra-column adornments.
  • Word wrapping.
  • Scrolling below document.
  • Hyperlinks.

and many,many more!

Cuckoo currently consists of 2 packages

Getting started

How to set up a new project that displays an Cuckoo editor?

  • Create an empty Avalonia application.
  • Add a the nuget reference to the latest version: <PackageReference Include="Avalonia.Cuckoo" Version="x.y.z.t" />
  • Include the needed styles into your <Application.Styles> in your App.xaml:
    • If you're using 0.10.x.y based versions, include <StyleInclude Source="avares://Cuckoo/Cuckoo.xaml" />
    • If you're 11.x.y based versions, include <StyleInclude Source="avares://Cuckoo/Themes/Fluent/Cuckoo.xaml" />
  • Finally, add the Cuckoo editor into your window:
<Window xmlns="https://github.com/avaloniaui"
        ...
        xmlns:Cuckoo="clr-namespace:Cuckoo;assembly=Cuckoo"
        ...>
  ...
  <Cuckoo:TextEditor Text="Hello Cuckoo!"
                           ShowLineNumbers="True"
                           FontFamily="Cascadia Code,Consolas,Menlo,Monospace"/>
  ...
</Window>

You can see the Demo Application as a reference.

How to set up TextMate theme and syntax highlighting for my project?

First of all, if you want to use grammars supported by TextMateSharp, should install the following packages:

Alternatively, if you want to support your own grammars, you just need to install the Cuckoo.TextMate package, and implement IRegistryOptions interface, that's currently the easiest way in case you want to use Cuckoo with the set of grammars different from in-bundled TextMateSharp.Grammars.

//First of all you need to have a reference for your TextEditor for it to be used inside Cuckoo.TextMate project.
var _textEditor = this.FindControl<TextEditor>("Editor");

//Here we initialize RegistryOptions with the theme we want to use.
var  _registryOptions = new RegistryOptions(ThemeName.DarkPlus);

//Initial setup of TextMate.
var _textMateInstallation = _textEditor.InstallTextMate(_registryOptions);

//Here we are getting the language by the extension and right after that we are initializing grammar with this language.
//And that's all 😀, you are ready to use Cuckoo with syntax highlighting!
_textMateInstallation.SetGrammar(_registryOptions.GetScopeByLanguageId(_registryOptions.GetLanguageByExtension(".cs").Id));

Cuckoo-demo

About

StegaVault is a tool for embedding and extracting hidden messages in images, along with detailed metadata extraction capabilities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors