ferrous-forge 1.9.10

System-wide Rust development standards enforcer
Documentation
{
  "name": "ferrous-forge-vscode",
  "displayName": "Ferrous Forge",
  "description": "Real-time validation, inline diagnostics, and quick fixes for Ferrous Forge standards",
  "version": "1.7.6",
  "publisher": "ferrous-forge",
  "license": "MIT OR Apache-2.0",
  "repository": {
    "type": "git",
    "url": "https://github.com/kryptobaseddev/ferrous-forge.git",
    "directory": "editors/vscode"
  },
  "engines": {
    "vscode": "^1.85.0"
  },
  "categories": [
    "Programming Languages",
    "Linters",
    "Formatters",
    "Debuggers"
  ],
  "keywords": [
    "rust",
    "ferrous-forge",
    "validation",
    "linting",
    "standards"
  ],
  "activationEvents": [
    "onLanguage:rust",
    "workspaceContains:**/Cargo.toml"
  ],
  "main": "./out/extension.js",
  "contributes": {
    "languages": [
      {
        "id": "rust",
        "extensions": [
          ".rs"
        ]
      }
    ],
    "configuration": {
      "title": "Ferrous Forge",
      "properties": {
        "ferrousForge.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enable Ferrous Forge validation"
        },
        "ferrousForge.validateOnType": {
          "type": "boolean",
          "default": true,
          "description": "Validate files as you type (debounced)"
        },
        "ferrousForge.validateOnSave": {
          "type": "boolean",
          "default": true,
          "description": "Validate files on save"
        },
        "ferrousForge.validateOnOpen": {
          "type": "boolean",
          "default": true,
          "description": "Validate files when opened"
        },
        "ferrousForge.debounceDelay": {
          "type": "number",
          "default": 500,
          "minimum": 100,
          "maximum": 5000,
          "description": "Debounce delay in milliseconds for validation while typing"
        },
        "ferrousForge.executablePath": {
          "type": "string",
          "default": "ferrous-forge",
          "description": "Path to the ferrous-forge executable"
        },
        "ferrousForge.showStatusBar": {
          "type": "boolean",
          "default": true,
          "description": "Show validation status in the status bar"
        },
        "ferrousForge.diagnosticSeverity": {
          "type": "string",
          "enum": [
            "error",
            "warning",
            "information",
            "hint"
          ],
          "default": "error",
          "description": "Default diagnostic severity for Ferrous Forge violations"
        },
        "ferrousForge.enableQuickFixes": {
          "type": "boolean",
          "default": true,
          "description": "Enable quick fixes for common violations"
        }
      }
    },
    "commands": [
      {
        "command": "ferrousForge.validate",
        "title": "Validate Project",
        "category": "Ferrous Forge"
      },
      {
        "command": "ferrousForge.validateFile",
        "title": "Validate Current File",
        "category": "Ferrous Forge"
      },
      {
        "command": "ferrousForge.fix",
        "title": "Fix All Violations",
        "category": "Ferrous Forge"
      },
      {
        "command": "ferrousForge.showOutput",
        "title": "Show Output Channel",
        "category": "Ferrous Forge"
      },
      {
        "command": "ferrousForge.reloadConfig",
        "title": "Reload Configuration",
        "category": "Ferrous Forge"
      }
    ],
    "menus": {
      "commandPalette": [
        {
          "command": "ferrousForge.validate",
          "when": "ferrousForge.enabled"
        },
        {
          "command": "ferrousForge.validateFile",
          "when": "ferrousForge.enabled && editorLangId == rust"
        },
        {
          "command": "ferrousForge.fix",
          "when": "ferrousForge.enabled"
        },
        {
          "command": "ferrousForge.showOutput",
          "when": "ferrousForge.enabled"
        },
        {
          "command": "ferrousForge.reloadConfig",
          "when": "ferrousForge.enabled"
        }
      ],
      "explorer/context": [
        {
          "command": "ferrousForge.validate",
          "when": "explorerResourceIsFolder && ferrousForge.enabled",
          "group": "9_ferrousForge@1"
        }
      ],
      "editor/context": [
        {
          "command": "ferrousForge.validateFile",
          "when": "editorLangId == rust && ferrousForge.enabled",
          "group": "9_ferrousForge@1"
        }
      ]
    },
    "keybindings": [
      {
        "command": "ferrousForge.validate",
        "key": "ctrl+shift+v",
        "mac": "cmd+shift+v",
        "when": "ferrousForge.enabled"
      },
      {
        "command": "ferrousForge.validateFile",
        "key": "ctrl+shift+alt+v",
        "mac": "cmd+shift+alt+v",
        "when": "ferrousForge.enabled && editorLangId == rust"
      }
    ]
  },
  "scripts": {
    "vscode:prepublish": "npm run compile",
    "compile": "tsc -p ./",
    "watch": "tsc -watch -p ./",
    "lint": "eslint src --ext ts",
    "test": "node ./out/test/runTest.js",
    "pretest": "npm run compile && npm run lint",
    "package": "vsce package"
  },
  "devDependencies": {
    "@types/node": "^20.10.0",
    "@types/vscode": "^1.85.0",
    "@typescript-eslint/eslint-plugin": "^6.15.0",
    "@typescript-eslint/parser": "^6.15.0",
    "eslint": "^8.56.0",
    "typescript": "^5.3.3"
  },
  "dependencies": {
    "@iarna/toml": "^2.2.5"
  }
}