# SPDX-FileCopyrightText: 2021 RizinOrg <info@rizin.re>
# SPDX-License-Identifier: LGPL-3.0-only
---
name: cmd_plugins
commands:
  - name: L
    cname: plugins_load
    summary: Load a plugin from file
    args:
      - name: plugin_file
        type: RZ_CMD_ARG_TYPE_FILE
  - name: L-
    cname: plugins_unload
    summary: Unload a plugin from file
    args:
      - name: plugin_file
        type: RZ_CMD_ARG_TYPE_FILE
  - name: Ll
    cname: plugins_lang_print
    summary: List the lang plugins
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args: []
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON
  - name: La
    summary: List the asm/analysis plugins
    subcommands:
    - name: La
      cname: plugins_asm_print
      summary: List the arch plugins
      type: RZ_CMD_DESC_TYPE_ARGV_STATE
      args:
        - name: features
          type: RZ_CMD_ARG_TYPE_STRING
          optional: true
      modes:
        - RZ_OUTPUT_MODE_TABLE
        - RZ_OUTPUT_MODE_QUIET
        - RZ_OUTPUT_MODE_STANDARD
        - RZ_OUTPUT_MODE_JSON
      details:
        - name: Legend
          entries:
            - text: "a"
              comment: "Analysis plugin"
            - text: "d"
              comment: "Disassembler plugin"
            - text: "A"
              comment: "Assembler plugin"
            - text: "e"
              comment: "ESIL Support"
            - text: "I"
              comment: "RzIL Support"
    - name: Lac
      cname: plugins_asm_cpu_print
      summary: List the cpus supported by the arch plugin
      type: RZ_CMD_DESC_TYPE_ARGV_STATE
      args:
        - name: architecture
          type: RZ_CMD_ARG_TYPE_STRING
      modes:
        - RZ_OUTPUT_MODE_STANDARD
        - RZ_OUTPUT_MODE_JSON
  - name: Lc
    cname: plugins_core_print
    summary: List the core plugins
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args: []
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON
  - name: LC
    cname: plugins_crypto_print
    summary: List the crypto plugins
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args: []
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON
  - name: Ld
    summary: List debug plugins / Set debug backend (e dbg.backend)
    cname: plugins_debug_print
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args:
      - name: handler
        type: RZ_CMD_ARG_TYPE_STRING
        optional: true
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON
  - name: Lh
    cname: plugins_hash_print
    summary: List the hash plugins
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args: []
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON
  - name: Li
    cname: plugins_bin_print
    summary: List the bin plugins
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args: []
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON
  - name: Lo
    cname: plugins_io_print
    summary: List IO plugins / Register IO plugin from <path>
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args:
      - name: path
        type: RZ_CMD_ARG_TYPE_FILE
        optional: true
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON
  - name: Lp
    cname: plugins_parser_print
    summary: List the parser plugins
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args: []
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON
  - name: LD
    cname: plugins_demanglers_print
    summary: List the demanglers plugins (alias for iDl)
    type: RZ_CMD_DESC_TYPE_ARGV_STATE
    args: []
    modes:
      - RZ_OUTPUT_MODE_TABLE
      - RZ_OUTPUT_MODE_QUIET
      - RZ_OUTPUT_MODE_STANDARD
      - RZ_OUTPUT_MODE_JSON