Files
RobustToolbox/Robust.Client/Input/EngineContexts.cs
Pieter-Jan Briers 5057c91dcd Console command completions v1. (#2817)
* Console command completions v1.

I think it works™️

* Unify cvar commands

* Handle no-completions-at-all better.

* Don't crash if you tab complete while no completions available.

* Always show hints if available

* Properly null completion hint over the wire

* Unify help command, localize it.

* Clean up + localize cvar command.

* Remove debug logging

* List command unified & localized.

* Remove server completions debug logging

* Remote execute command.

Had to make everything async for this.

* Don't lower case enums or bools
Why

* GC commands converted and localized.

* Fix remote command completions.

Whoops

* Kick command completions

* lsasm unified & localized.

* Revert "Don't lower case enums or bools"

This reverts commit 2f825347c3.

* ToString gc_mode command enums instead of trying to fix Fluent.

Ah well.

* Unify szr_stats

* Unify log commands, completions

* Fix compile

* Improve completion with complex cases (quotes, escapes)

* Code cleanup, comments.

* Fix tab completion with empty arg ruining everything.

* Fix RegisteredCommand completions

* Add more complex completion options system.

* Refactor content directory entries into a proper resource manager API.

* Implement GetEntries for DirLoader

* Make type hint darker.

* Exec command autocomplete, pulled play global sound code out to engine.
2022-05-17 13:07:25 +10:00

78 lines
4.0 KiB
C#

using Robust.Shared.Input;
namespace Robust.Client.Input
{
/// <summary>
/// Contains a helper function for setting up all default engine contexts.
/// </summary>
internal static class EngineContexts
{
/// <summary>
/// Adds the default set of engine contexts to a context container.
/// </summary>
/// <param name="contexts">Default contexts will be set up inside this container.</param>
public static void SetupContexts(IInputContextContainer contexts)
{
var common = contexts.GetContext(InputContextContainer.DefaultContextName);
common.AddFunction(EngineKeyFunctions.Use);
common.AddFunction(EngineKeyFunctions.UIClick);
common.AddFunction(EngineKeyFunctions.UIRightClick);
common.AddFunction(EngineKeyFunctions.CloseModals);
common.AddFunction(EngineKeyFunctions.EscapeMenu);
common.AddFunction(EngineKeyFunctions.HideUI);
common.AddFunction(EngineKeyFunctions.ShowDebugConsole);
common.AddFunction(EngineKeyFunctions.ShowDebugMonitors);
common.AddFunction(EngineKeyFunctions.MoveUp);
common.AddFunction(EngineKeyFunctions.MoveDown);
common.AddFunction(EngineKeyFunctions.MoveLeft);
common.AddFunction(EngineKeyFunctions.MoveRight);
common.AddFunction(EngineKeyFunctions.Walk);
common.AddFunction(EngineKeyFunctions.CameraRotateRight);
common.AddFunction(EngineKeyFunctions.CameraRotateLeft);
common.AddFunction(EngineKeyFunctions.GuiTabNavigateNext);
common.AddFunction(EngineKeyFunctions.GuiTabNavigatePrev);
common.AddFunction(EngineKeyFunctions.TextCursorLeft);
common.AddFunction(EngineKeyFunctions.TextCursorRight);
common.AddFunction(EngineKeyFunctions.TextCursorWordLeft);
common.AddFunction(EngineKeyFunctions.TextCursorWordRight);
common.AddFunction(EngineKeyFunctions.TextCursorBegin);
common.AddFunction(EngineKeyFunctions.TextCursorEnd);
common.AddFunction(EngineKeyFunctions.TextCursorSelect);
common.AddFunction(EngineKeyFunctions.TextCursorSelectLeft);
common.AddFunction(EngineKeyFunctions.TextCursorSelectRight);
common.AddFunction(EngineKeyFunctions.TextCursorSelectWordLeft);
common.AddFunction(EngineKeyFunctions.TextCursorSelectWordRight);
common.AddFunction(EngineKeyFunctions.TextCursorSelectBegin);
common.AddFunction(EngineKeyFunctions.TextCursorSelectEnd);
common.AddFunction(EngineKeyFunctions.TextBackspace);
common.AddFunction(EngineKeyFunctions.TextSubmit);
common.AddFunction(EngineKeyFunctions.TextCopy);
common.AddFunction(EngineKeyFunctions.TextCut);
common.AddFunction(EngineKeyFunctions.TextPaste);
common.AddFunction(EngineKeyFunctions.TextSelectAll);
common.AddFunction(EngineKeyFunctions.TextHistoryPrev);
common.AddFunction(EngineKeyFunctions.TextHistoryNext);
common.AddFunction(EngineKeyFunctions.TextReleaseFocus);
common.AddFunction(EngineKeyFunctions.TextScrollToBottom);
common.AddFunction(EngineKeyFunctions.TextDelete);
common.AddFunction(EngineKeyFunctions.TextTabComplete);
common.AddFunction(EngineKeyFunctions.TextCompleteNext);
common.AddFunction(EngineKeyFunctions.TextCompletePrev);
var editor = contexts.New("editor", common);
editor.AddFunction(EngineKeyFunctions.EditorLinePlace);
editor.AddFunction(EngineKeyFunctions.EditorGridPlace);
editor.AddFunction(EngineKeyFunctions.EditorPlaceObject);
editor.AddFunction(EngineKeyFunctions.EditorCancelPlace);
editor.AddFunction(EngineKeyFunctions.EditorRotateObject);
var human = contexts.New("human", common);
}
}
}