Skip to content

Supports MonoDevelop.MSBuildEditor by creating a custom schema document. #136

Description

@wherewhere

Description (optional)

With MSBuildEditor, we can have Quick Info and IntelliSense. It needs .buildschema.json for custom document. It will be better if we can create a document for the PolySharp.target.

PolySharp.target.buildschema.json

{
  "$schema": "https://github.com/mhutch/MonoDevelop.MSBuildEditor/raw/refs/heads/main/MonoDevelop.MSBuild/Schemas/buildschema.json",
  "properties": {
    "PolySharpUsePublicAccessibilityForGeneratedTypes": {
      "description": "Makes all generated types public",
      "type": "bool",
      "defaultValue": "false"
    },
    "PolySharpIncludeRuntimeSupportedAttributes": {
      "description": "Enables polyfills for (dummy) runtime-supported attributes too",
      "type": "bool",
      "defaultValue": "false"
    },
    "PolySharpUseInteropServices2NamespaceForUnmanagedCallersOnlyAttribute": {
      "description": "Moves [UnmanagedCallersOnly]",
      "type": "bool",
      "defaultValue": "false"
    },
    "PolySharpExcludeGeneratedTypes": {
      "description": "Excludes specific types from generation",
      "isList": true,
      "listSeparators": ";,",
      "type": { "$ref": "#/types/supportTypes" }
    },
    "PolySharpIncludeGeneratedTypes": {
      "description": "Only includes specific types for generation",
      "isList": true,
      "listSeparators": ";,",
      "type": { "$ref": "#/types/supportTypes" }
    },
    "PolySharpExcludeTypeForwardedToDeclarations": {
      "description": "Never generates any [TypeForwardedTo] declarations",
      "type": "bool",
      "defaultValue": "false"
    }
  },
  "types": {
    "supportTypes": {
      "values": {
        "System.Diagnostics.CodeAnalysis.AllowNullAttribute": "Specifies that null is allowed as an input even if the corresponding type disallows it.",
        "System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute": "Indicates that the specified method parameter expects a constant.",
        ...
      }
    }
  }
}

Rationale

Have the Documents and IntelliSense.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions