protected bool TryGetController(EditorCommandArgs args, out Controller controller)
        {
            AssertIsForeground();

            // If args is `InvokeSignatureHelpCommandArgs` then sig help was explicitly invoked by the user and should
            // be shown whether or not the option is set.
            if (!(args is InvokeSignatureHelpCommandArgs) && !args.SubjectBuffer.GetFeatureOnOffOption(SignatureHelpOptions.ShowSignatureHelp))
            {
                controller = null;
                return(false);
            }

            controller = _controllerProvider.GetController(args.TextView, args.SubjectBuffer);
            return(controller is not null);
        }
        protected bool TryGetController(EditorCommandArgs args, out Controller controller)
        {
            AssertIsForeground();

            // If args is `InvokeSignatureHelpCommandArgs` then sig help was explicitly invoked by the user and should
            // be shown whether or not the option is set.
            var languageName = args.SubjectBuffer.GetLanguageName();

            if (args is not InvokeSignatureHelpCommandArgs &&
                languageName != null &&
                !_globalOptions.GetOption(SignatureHelpViewOptions.ShowSignatureHelp, languageName))
            {
                controller = null;
                return(false);
            }

            controller = _controllerProvider.GetController(args.TextView, args.SubjectBuffer);
            return(controller is not null);
        }