patto 0.3.0

🪽 Yet another plain text format for quick note taking and task management
{
  "name": "patto-language-server",
  "description": "Patto Note language server with preview support",
  "license": "MIT",
  "version": "0.3.0",
  "publisher": "ompugao",
  "displayName": "Patto Language Server",
  "categories": [
    "Programming Languages"
  ],
  "keywords": [
    "patto",
    "note-taking",
    "wiki",
    "language-server"
  ],
  "repository": {
    "url": "https://github.com/ompugao/patto"
  },
  "engines": {
    "vscode": "^1.66.0"
  },
  "enabledApiProposals": [],
  "activationEvents": [
    "onLanguage:patto"
  ],
  "main": "./dist/extension.js",
  "icon": "assets/patto-icon_notext.png",
  "contributes": {
    "languages": [
      {
        "id": "patto",
        "extensions": [
          ".pn"
        ],
        "configuration": "./language-configuration.json"
      }
    ],
    "grammars": [
      {
        "language": "patto",
        "scopeName": "source.patto",
        "path": "./syntaxes/patto.tmLanguage.json"
      }
    ],
    "commands": [
      {
        "command": "patto.tasks",
        "title": "Patto: Aggregate tasks in the workspace"
      },
      {
        "command": "patto.scanWorkspace",
        "title": "Patto: Scan workspace for notes"
      },
      {
        "command": "patto.twoHopLinks",
        "title": "Patto: Show two-hop links"
      },
      {
        "command": "patto.openPreview",
        "title": "Patto: Open preview"
      },
      {
        "command": "patto.snapshotPapers",
        "title": "Patto: Snapshot Papers (refresh cache)"
      },
      {
        "command": "patto.copyAsMarkdown",
        "title": "Patto: Copy as Markdown"
      }
    ],
    "views": {
      "explorer": [
        {
          "id": "pattoTasks",
          "name": "Patto Note Tasks"
        }
      ]
    },
    "configuration": {
      "type": "object",
      "title": "patto-language-server",
      "properties": {
        "patto-language-server.trace.server": {
          "type": "string",
          "scope": "window",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "enumDescriptions": [
            "No traces",
            "Error only",
            "Full log"
          ],
          "default": "off",
          "description": "Traces the communication between VS Code and the language server."
        },
        "patto.autoOpenPreview": {
          "type": "boolean",
          "default": false,
          "description": "Automatically open preview when opening a .pn file"
        },
        "patto.lspPath": {
          "type": "string",
          "default": "patto-lsp",
          "description": "Path to patto-lsp binary. If not in PATH, specify full path here."
        },
        "patto.previewPath": {
          "type": "string",
          "default": "patto-preview",
          "description": "Path to patto-preview binary. If not in PATH, specify full path here."
        },
        "patto.markdown.defaultFlavor": {
          "type": "string",
          "enum": ["standard", "obsidian", "github"],
          "default": "standard",
          "description": "Default markdown flavor for 'Copy as Markdown' command"
        },
        "editor.semanticHighlighting.enabled": {
          "type": "boolean",
          "default": true,
          "description": "Enable semantic highlighting for Patto files"
        }
      }
    },
    "semanticTokenScopes": [
      {
        "scopes": {
          "function": [
            "entity.name.function"
          ],
          "variable": [
            "variable.other"
          ],
          "string": [
            "string.quoted"
          ],
          "comment": [
            "comment.line"
          ],
          "keyword": [
            "keyword.control"
          ],
          "operator": [
            "keyword.operator"
          ],
          "property": [
            "variable.other.property"
          ],
          "type": [
            "entity.name.type"
          ],
          "enum": [
            "constant.language"
          ],
          "modifier": [
            "storage.modifier"
          ]
        }
      }
    ]
  },
  "scripts": {
    "postinstall": "cd client && pnpm i",
    "test-compile": "tsc -p ./",
    "compile": "cross-env NODE_ENV=production tsc -b",
    "watch": "rm -rf dist && tsc -b -w",
    "lint": "eslint ./client --ext ts",
    "pretest": "npm run compile && npm run lint",
    "test": "node ./dist/test/runTest.js",
    "build": "webpack --config webpack.config.js",
    "package": "npm run build && vsce package --no-dependencies",
    "publish": "vsce publish --no-dependencies"
  },
  "devDependencies": {
    "@types/glob": "^7.2.0",
    "@types/mocha": "^8.2.3",
    "@types/node": "^12.20.55",
    "@typescript-eslint/eslint-plugin": "^3.10.1",
    "@typescript-eslint/parser": "^3.10.1",
    "cross-env": "^7.0.3",
    "electron-rebuild": "^3.2.9",
    "eslint": "^7.32.0",
    "glob": "^7.2.3",
    "mocha": "^11.7.5",
    "ts-loader": "^9.5.4",
    "typescript": "5.4.5",
    "vscode-test": "^1.6.1",
    "vscode-uri": "^3.1.0",
    "webpack": "^5.102.1",
    "webpack-cli": "^5.1.4"
  },
  "dependencies": {
    "@vscode/vsce": "^3.7.0",
    "vscode-languageclient": "9.0.1"
  }
}