Skip to content

Commit

Permalink
Fixes #2025 - API Docs are now generated via Github Action - View Sou…
Browse files Browse the repository at this point in the history
…rce Works (#2027)

* Fixes #1991 - Broken link in README

* Force push to main to update api docs after fixing #1874

* Fixes #1745 - Github action to generate API docs

* Try 2 - Fixes #1745 - Github action to generate API docs

* Try 3 - Fixes #1745 - Github action to generate API docs

* Try 4 - Fixes #1745 - Github action to generate API docs

* Try 4 - Fixes #1745 - Github action to generate API docs

* Try 6 - Fixes #1745 - Github action to generate API docs

* Removed docs folder because gh-pages branch is now used

* Ignore ./docs folder

* Fix readme for docfx

* Revert "merge"

This reverts commit 870a241, reversing
changes made to 48089bb.
  • Loading branch information
tig committed Sep 16, 2022
1 parent 281a849 commit c6001c7
Show file tree
Hide file tree
Showing 349 changed files with 599 additions and 196,995 deletions.
54 changes: 54 additions & 0 deletions .github/workflows/api-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Build and publish API docs

on:
push:
branches: [main]

jobs:
generate-docs:
runs-on: windows-latest

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.100

- name: Setup DocFX
uses: crazy-max/ghaction-chocolatey@v1
with:
args: install docfx

- name: Install dependencies
run: dotnet restore

- name: DocFX Build
working-directory: docfx
# https://stackoverflow.com/questions/56726429/how-to-run-multiple-commands-in-one-github-actions-docker
run: |
rm ../docs -Recurse -Force
docfx docfx.json
continue-on-error: false

- name: Publish
if: github.event_name == 'push'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs
force_orphan: true

# - name: Use docfx to build API Docs
# uses: nikeee/docfx-action@v1.0.0
# with:
# args: docfx/docfx.json

# # Publish generated site using GitHub Pages
# - uses: maxheld83/ghpages@master
# name: Publish API Documentation on GitHub Pages
# env:
# BUILD_DIR: docs # docfx's default output directory is _site
# GH_PAT: ${{ secrets.GH_PAT }} # See https://github.com/maxheld83/ghpages
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@ packages
# User-specific files
*.user

# API Docs
docfx/api

# Never push ./docs folder - the gh-pages branch is now used to publish to GH Pages

UnitTests/TestResults

#git merge files
Expand Down
48 changes: 42 additions & 6 deletions Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ public static Attribute MakeColor (short foreground, short background)
background: MapCursesColor (background));
}

public override Attribute MakeColor (Color fore, Color back)
static Attribute MakeColor (Color fore, Color back)
{
return MakeColor ((short)MapColor (fore), (short)MapColor (back));
}
Expand Down Expand Up @@ -663,7 +663,7 @@ void ProcessInput (Action<KeyEvent> keyHandler, Action<KeyEvent> keyDownHandler,

// Special handling for ESC, we want to try to catch ESC+letter to simulate alt-letter as well as Alt-Fkey
if (wch == 27) {
Curses.timeout (10);
Curses.timeout (200);

code = Curses.get_wch (out int wch2);

Expand Down Expand Up @@ -820,7 +820,6 @@ public override void Init (Action terminalResized)
//Console.Out.Flush ();

window = Curses.initscr ();
Curses.set_escdelay (10);
} catch (Exception e) {
throw new Exception ($"Curses failed to initialize, the exception is: {e.Message}");
}
Expand Down Expand Up @@ -890,14 +889,51 @@ public override void Init (Action terminalResized)
//UpArrow = Curses.ACS_UARROW;
//DownArrow = Curses.ACS_DARROW;

Colors.TopLevel = new ColorScheme ();
Colors.Base = new ColorScheme ();
Colors.Dialog = new ColorScheme ();
Colors.Menu = new ColorScheme ();
Colors.Error = new ColorScheme ();

if (Curses.HasColors) {
Curses.StartColor ();
Curses.UseDefaultColors ();

CreateColors ();
Colors.TopLevel.Normal = MakeColor (Color.Green, Color.Black);
Colors.TopLevel.Focus = MakeColor (Color.White, Color.Cyan);
Colors.TopLevel.HotNormal = MakeColor (Color.Brown, Color.Black);
Colors.TopLevel.HotFocus = MakeColor (Color.Blue, Color.Cyan);
Colors.TopLevel.Disabled = MakeColor (Color.DarkGray, Color.Black);

Colors.Base.Normal = MakeColor (Color.White, Color.Blue);
Colors.Base.Focus = MakeColor (Color.Black, Color.Gray);
Colors.Base.HotNormal = MakeColor (Color.BrightCyan, Color.Blue);
Colors.Base.HotFocus = MakeColor (Color.BrightBlue, Color.Gray);
Colors.Base.Disabled = MakeColor (Color.DarkGray, Color.Blue);

// Focused,
// Selected, Hot: Yellow on Black
// Selected, text: white on black
// Unselected, hot: yellow on cyan
// unselected, text: same as unfocused
Colors.Menu.Normal = MakeColor (Color.White, Color.DarkGray);
Colors.Menu.Focus = MakeColor (Color.White, Color.Black);
Colors.Menu.HotNormal = MakeColor (Color.BrightYellow, Color.DarkGray);
Colors.Menu.HotFocus = MakeColor (Color.BrightYellow, Color.Black);
Colors.Menu.Disabled = MakeColor (Color.Gray, Color.DarkGray);

Colors.Dialog.Normal = MakeColor (Color.Black, Color.Gray);
Colors.Dialog.Focus = MakeColor (Color.White, Color.DarkGray);
Colors.Dialog.HotNormal = MakeColor (Color.Blue, Color.Gray);
Colors.Dialog.HotFocus = MakeColor (Color.Blue, Color.DarkGray);
Colors.Dialog.Disabled = MakeColor (Color.DarkGray, Color.Gray);

Colors.Error.Normal = MakeColor (Color.Red, Color.White);
Colors.Error.Focus = MakeColor (Color.White, Color.Red);
Colors.Error.HotNormal = MakeColor (Color.Black, Color.White);
Colors.Error.HotFocus = MakeColor (Color.Black, Color.Red);
Colors.Error.Disabled = MakeColor (Color.DarkGray, Color.White);
} else {
CreateColors (false);

Colors.TopLevel.Normal = Curses.COLOR_GREEN;
Colors.TopLevel.Focus = Curses.COLOR_WHITE;
Colors.TopLevel.HotNormal = Curses.COLOR_YELLOW;
Expand Down
4 changes: 0 additions & 4 deletions Terminal.Gui/ConsoleDrivers/CursesDriver/binding.cs
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,6 @@ static public int IsAlt (int key)
static public int reset_shell_mode () => methods.reset_shell_mode ();
static public int savetty () => methods.savetty ();
static public int resetty () => methods.resetty ();
static public int set_escdelay (int size) => methods.set_escdelay (size);
}

#pragma warning disable RCS1102 // Make class static.
Expand Down Expand Up @@ -406,7 +405,6 @@ internal class Delegates {
public delegate int reset_shell_mode ();
public delegate int savetty ();
public delegate int resetty ();
public delegate int set_escdelay (int size);
}

internal class NativeMethods {
Expand Down Expand Up @@ -480,7 +478,6 @@ internal class NativeMethods {
public readonly Delegates.reset_shell_mode reset_shell_mode;
public readonly Delegates.savetty savetty;
public readonly Delegates.resetty resetty;
public readonly Delegates.set_escdelay set_escdelay;
public UnmanagedLibrary UnmanagedLibrary;

public NativeMethods (UnmanagedLibrary lib)
Expand Down Expand Up @@ -556,7 +553,6 @@ public NativeMethods (UnmanagedLibrary lib)
reset_shell_mode = lib.GetNativeMethodDelegate<Delegates.reset_shell_mode> ("reset_shell_mode");
savetty = lib.GetNativeMethodDelegate<Delegates.savetty> ("savetty");
resetty = lib.GetNativeMethodDelegate<Delegates.resetty> ("resetty");
set_escdelay = lib.GetNativeMethodDelegate<Delegates.set_escdelay> ("set_escdelay");
}
}
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
Expand Down
47 changes: 41 additions & 6 deletions Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,6 @@ public override void End ()
FakeConsole.Clear ();
}

public override Attribute MakeColor (Color foreground, Color background)
{
return MakeColor ((ConsoleColor)foreground, (ConsoleColor)background);
}

static Attribute MakeColor (ConsoleColor f, ConsoleColor b)
{
// Encode the colors into the int value.
Expand All @@ -182,7 +177,47 @@ public override void Init (Action terminalResized)
ResizeScreen ();
UpdateOffScreen ();

CreateColors ();
Colors.TopLevel = new ColorScheme ();
Colors.Base = new ColorScheme ();
Colors.Dialog = new ColorScheme ();
Colors.Menu = new ColorScheme ();
Colors.Error = new ColorScheme ();
Clip = new Rect (0, 0, Cols, Rows);

Colors.TopLevel.Normal = MakeColor (ConsoleColor.Green, ConsoleColor.Black);
Colors.TopLevel.Focus = MakeColor (ConsoleColor.White, ConsoleColor.DarkCyan);
Colors.TopLevel.HotNormal = MakeColor (ConsoleColor.DarkYellow, ConsoleColor.Black);
Colors.TopLevel.HotFocus = MakeColor (ConsoleColor.DarkBlue, ConsoleColor.DarkCyan);
Colors.TopLevel.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.Black);

Colors.Base.Normal = MakeColor (ConsoleColor.White, ConsoleColor.Blue);
Colors.Base.Focus = MakeColor (ConsoleColor.Black, ConsoleColor.Cyan);
Colors.Base.HotNormal = MakeColor (ConsoleColor.Yellow, ConsoleColor.Blue);
Colors.Base.HotFocus = MakeColor (ConsoleColor.Yellow, ConsoleColor.Cyan);
Colors.Base.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.DarkBlue);

// Focused,
// Selected, Hot: Yellow on Black
// Selected, text: white on black
// Unselected, hot: yellow on cyan
// unselected, text: same as unfocused
Colors.Menu.HotFocus = MakeColor (ConsoleColor.Yellow, ConsoleColor.Black);
Colors.Menu.Focus = MakeColor (ConsoleColor.White, ConsoleColor.Black);
Colors.Menu.HotNormal = MakeColor (ConsoleColor.Yellow, ConsoleColor.Cyan);
Colors.Menu.Normal = MakeColor (ConsoleColor.White, ConsoleColor.Cyan);
Colors.Menu.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.Cyan);

Colors.Dialog.Normal = MakeColor (ConsoleColor.Black, ConsoleColor.Gray);
Colors.Dialog.Focus = MakeColor (ConsoleColor.Black, ConsoleColor.Cyan);
Colors.Dialog.HotNormal = MakeColor (ConsoleColor.Blue, ConsoleColor.Gray);
Colors.Dialog.HotFocus = MakeColor (ConsoleColor.Blue, ConsoleColor.Cyan);
Colors.Dialog.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.Gray);

Colors.Error.Normal = MakeColor (ConsoleColor.White, ConsoleColor.Red);
Colors.Error.Focus = MakeColor (ConsoleColor.Black, ConsoleColor.Gray);
Colors.Error.HotNormal = MakeColor (ConsoleColor.Yellow, ConsoleColor.Red);
Colors.Error.HotFocus = Colors.Error.HotNormal;
Colors.Error.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.White);

//MockConsole.Clear ();
}
Expand Down
46 changes: 40 additions & 6 deletions Terminal.Gui/ConsoleDrivers/NetDriver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1309,11 +1309,6 @@ void Clear ()
}
}

public override Attribute MakeColor (Color foreground, Color background)
{
return MakeColor ((ConsoleColor)foreground, (ConsoleColor)background);
}

static Attribute MakeColor (ConsoleColor f, ConsoleColor b)
{
// Encode the colors into the int value.
Expand Down Expand Up @@ -1342,7 +1337,46 @@ public override void Init (Action terminalResized)

StartReportingMouseMoves ();

CreateColors ();
Colors.TopLevel = new ColorScheme ();
Colors.Base = new ColorScheme ();
Colors.Dialog = new ColorScheme ();
Colors.Menu = new ColorScheme ();
Colors.Error = new ColorScheme ();

Colors.TopLevel.Normal = MakeColor (ConsoleColor.Green, ConsoleColor.Black);
Colors.TopLevel.Focus = MakeColor (ConsoleColor.White, ConsoleColor.DarkCyan);
Colors.TopLevel.HotNormal = MakeColor (ConsoleColor.DarkYellow, ConsoleColor.Black);
Colors.TopLevel.HotFocus = MakeColor (ConsoleColor.DarkBlue, ConsoleColor.DarkCyan);
Colors.TopLevel.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.Black);

Colors.Base.Normal = MakeColor (ConsoleColor.White, ConsoleColor.DarkBlue);
Colors.Base.Focus = MakeColor (ConsoleColor.Black, ConsoleColor.Gray);
Colors.Base.HotNormal = MakeColor (ConsoleColor.Cyan, ConsoleColor.DarkBlue);
Colors.Base.HotFocus = MakeColor (ConsoleColor.Blue, ConsoleColor.Gray);
Colors.Base.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.DarkBlue);

// Focused,
// Selected, Hot: Yellow on Black
// Selected, text: white on black
// Unselected, hot: yellow on cyan
// unselected, text: same as unfocused
Colors.Menu.Normal = MakeColor (ConsoleColor.White, ConsoleColor.DarkGray);
Colors.Menu.Focus = MakeColor (ConsoleColor.White, ConsoleColor.Black);
Colors.Menu.HotNormal = MakeColor (ConsoleColor.Yellow, ConsoleColor.DarkGray);
Colors.Menu.HotFocus = MakeColor (ConsoleColor.Yellow, ConsoleColor.Black);
Colors.Menu.Disabled = MakeColor (ConsoleColor.Gray, ConsoleColor.DarkGray);

Colors.Dialog.Normal = MakeColor (ConsoleColor.Black, ConsoleColor.Gray);
Colors.Dialog.Focus = MakeColor (ConsoleColor.White, ConsoleColor.DarkGray);
Colors.Dialog.HotNormal = MakeColor (ConsoleColor.DarkBlue, ConsoleColor.Gray);
Colors.Dialog.HotFocus = MakeColor (ConsoleColor.DarkBlue, ConsoleColor.DarkGray);
Colors.Dialog.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.Gray);

Colors.Error.Normal = MakeColor (ConsoleColor.DarkRed, ConsoleColor.White);
Colors.Error.Focus = MakeColor (ConsoleColor.White, ConsoleColor.DarkRed);
Colors.Error.HotNormal = MakeColor (ConsoleColor.Black, ConsoleColor.White);
Colors.Error.HotFocus = MakeColor (ConsoleColor.Black, ConsoleColor.DarkRed);
Colors.Error.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.White);

Clear ();
}
Expand Down
41 changes: 35 additions & 6 deletions Terminal.Gui/ConsoleDrivers/WindowsDriver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1397,7 +1397,41 @@ public override void Init (Action terminalResized)
ResizeScreen ();
UpdateOffScreen ();

CreateColors ();
Colors.TopLevel = new ColorScheme ();
Colors.Base = new ColorScheme ();
Colors.Dialog = new ColorScheme ();
Colors.Menu = new ColorScheme ();
Colors.Error = new ColorScheme ();

Colors.TopLevel.Normal = MakeColor (ConsoleColor.Green, ConsoleColor.Black);
Colors.TopLevel.Focus = MakeColor (ConsoleColor.White, ConsoleColor.DarkCyan);
Colors.TopLevel.HotNormal = MakeColor (ConsoleColor.DarkYellow, ConsoleColor.Black);
Colors.TopLevel.HotFocus = MakeColor (ConsoleColor.DarkBlue, ConsoleColor.DarkCyan);
Colors.TopLevel.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.Black);

Colors.Base.Normal = MakeColor (ConsoleColor.White, ConsoleColor.DarkBlue);
Colors.Base.Focus = MakeColor (ConsoleColor.Black, ConsoleColor.Gray);
Colors.Base.HotNormal = MakeColor (ConsoleColor.Cyan, ConsoleColor.DarkBlue);
Colors.Base.HotFocus = MakeColor (ConsoleColor.Blue, ConsoleColor.Gray);
Colors.Base.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.DarkBlue);

Colors.Menu.Normal = MakeColor (ConsoleColor.White, ConsoleColor.DarkGray);
Colors.Menu.Focus = MakeColor (ConsoleColor.White, ConsoleColor.Black);
Colors.Menu.HotNormal = MakeColor (ConsoleColor.Yellow, ConsoleColor.DarkGray);
Colors.Menu.HotFocus = MakeColor (ConsoleColor.Yellow, ConsoleColor.Black);
Colors.Menu.Disabled = MakeColor (ConsoleColor.Gray, ConsoleColor.DarkGray);

Colors.Dialog.Normal = MakeColor (ConsoleColor.Black, ConsoleColor.Gray);
Colors.Dialog.Focus = MakeColor (ConsoleColor.White, ConsoleColor.DarkGray);
Colors.Dialog.HotNormal = MakeColor (ConsoleColor.DarkBlue, ConsoleColor.Gray);
Colors.Dialog.HotFocus = MakeColor (ConsoleColor.DarkBlue, ConsoleColor.DarkGray);
Colors.Dialog.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.Gray);

Colors.Error.Normal = MakeColor (ConsoleColor.DarkRed, ConsoleColor.White);
Colors.Error.Focus = MakeColor (ConsoleColor.White, ConsoleColor.DarkRed);
Colors.Error.HotNormal = MakeColor (ConsoleColor.Black, ConsoleColor.White);
Colors.Error.HotFocus = MakeColor (ConsoleColor.Black, ConsoleColor.DarkRed);
Colors.Error.Disabled = MakeColor (ConsoleColor.DarkGray, ConsoleColor.White);
}

public override void ResizeScreen ()
Expand Down Expand Up @@ -1503,11 +1537,6 @@ public override void SetAttribute (Attribute c)
currentAttribute = c;
}

public override Attribute MakeColor (Color foreground, Color background)
{
return MakeColor ((ConsoleColor)foreground, (ConsoleColor)background);
}

Attribute MakeColor (ConsoleColor f, ConsoleColor b)
{
// Encode the colors into the int value.
Expand Down
Loading

0 comments on commit c6001c7

Please sign in to comment.