{
  "name": "coc-julia",
  "version": "0.15.0",
  "description": "Julia extension for coc.nvim",
  "author": "Heyward Fann <fannheyward@gmail.com>",
  "license": "MIT",
  "main": "lib/index.js",
  "keywords": [
    "coc.nvim"
  ],
  "engines": {
    "coc": "^0.0.80"
  },
  "scripts": {
    "lint": "biome lint src",
    "watch": "node esbuild.js --watch",
    "build": "node esbuild.js",
    "prepare": "node esbuild.js"
  },
  "devDependencies": {
    "@biomejs/biome": "^1.7.1",
    "@types/node": "16",
    "@types/which": "^3.0.3",
    "coc.nvim": "^0.0.83-next.18",
    "esbuild": "^0.20.2",
    "typescript": "^5.4.5",
    "which": "^4.0.0"
  },
  "activationEvents": [
    "onLanguage:julia",
    "onLanguage:juliamarkdown",
    "workspaceContains:**/Project.toml",
    "workspaceContains:deps/build.jl",
    "workspaceContains:test/runtests.jl",
    "workspaceContains:benchmark/benchmarks.jl",
    "workspaceContains:docs/make.jl"
  ],
  "prettier": {
    "printWidth": 160,
    "singleQuote": true,
    "semi": true
  },
  "contributes": {
    "rootPatterns": [
      {
        "filetype": "julia",
        "patterns": [
          "Project.toml"
        ]
      }
    ],
    "configuration": {
      "type": "object",
      "title": "coc-julia configuration",
      "properties": {
        "julia.enabled": {
          "type": "boolean",
          "default": true,
          "description": "Enable coc-julia extension"
        },
        "julia.executablePath": {
          "type": "string",
          "default": "",
          "description": "Points to the julia executable."
        },
        "julia.environmentPath": {
          "type": [
            "string",
            "null"
          ],
          "default": null,
          "description": "Path to a julia environment."
        },
        "julia.trace.server": {
          "type": "string",
          "default": "off",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "description": "Traces the communication between client and the language server."
        },
        "julia.lint.run": {
          "type": "boolean",
          "default": true,
          "description": "Run the linter on active files."
        },
        "julia.lint.missingrefs": {
          "type": "string",
          "default": "none",
          "enum": [
            "none",
            "symbols",
            "all"
          ],
          "description": "Highlight unknown symbols. The `symbols` option will not mark unknown fields."
        },
        "julia.lint.disabledDirs": {
          "type": "array",
          "default": [
            "docs",
            "test"
          ],
          "markdownDescription": "Specifies sub-directories in [a package directory](https://docs.julialang.org/en/v1/manual/code-loading/#Package-directories-1) where only basic linting is. This drastically lowers the chance for false positives."
        },
        "julia.lint.call": {
          "type": "boolean",
          "default": false,
          "description": "Check calls against existing methods. (experimental)"
        },
        "julia.lint.iter": {
          "type": "boolean",
          "default": true,
          "description": "Check iterator syntax of loops."
        },
        "julia.lint.nothingcomp": {
          "type": "boolean",
          "default": true,
          "description": "Check for use of `==` rather than `===` when comparing against `nothing`. "
        },
        "julia.lint.constif": {
          "type": "boolean",
          "default": true,
          "description": "Check for constant conditionals of if statements."
        },
        "julia.lint.lazy": {
          "type": "boolean",
          "default": true,
          "description": "Check for deterministic lazy boolean operators."
        },
        "julia.lint.datadecl": {
          "type": "boolean",
          "default": true,
          "description": "Check variables used in type declarations are datatypes."
        },
        "julia.lint.typeparam": {
          "type": "boolean",
          "default": true,
          "description": "Check for unused DataType parameters."
        },
        "julia.lint.modname": {
          "type": "boolean",
          "default": true,
          "description": "Check for invalid submodule names."
        },
        "julia.lint.pirates": {
          "type": "boolean",
          "default": true,
          "description": "Check for type piracy."
        },
        "julia.lint.useoffuncargs": {
          "type": "boolean",
          "default": true,
          "description": "Check that all declared arguments are used within the function body."
        }
      }
    },
    "commands": [
      {
        "command": "julia.CompileLanguageServerSysimg",
        "title": "Use PackageCompiler.jl to compile a sysimage of LanguageServer.jl"
      }
    ]
  }
}
