单条规则结构：

```ts
interface CodeEditorCompletionTarget {
  object: string
  methods?: CodeEditorCompletionSuggestion[]
  properties?: CodeEditorCompletionSuggestion[]
  triggerCharacters?: string[]
}
```

字段说明：

- `object`
  目标对象名。当前规则只在输入 `object.` 这种上下文时生效。
- `methods`
  方法补全列表。
- `properties`
  属性补全列表。
- `triggerCharacters`
  触发提示的字符列表。默认是 `['.']`。

方法/属性项结构：

```ts
interface CodeEditorCompletionSuggestion {
  label: string
  insertText?: string
  detail?: string
  documentation?: string
  kind?: 'method' | 'function' | 'property' | 'field' | 'variable' | 'class' | 'keyword'
  snippet?: boolean
}
```

字段说明：

- `label`
  补全面板里显示的名字，必填。
- `insertText`
  选择后插入的文本。不传时默认插入 `label`。
- `detail`
  面板右侧的简短类型说明。
- `documentation`
  面板中的补充说明。
- `kind`
  指定补全项类型，影响图标显示。
- `snippet`
  是否按 Monaco snippet 处理。
  设为 `true` 时可以使用 `${1:name}` 这种占位符。


## 示例

### JavaScript 示例

```ts
const completionConfig = {
  javascript: [
    {
      object: 'a',
      methods: [
        {
          label: 'b',
          insertText: 'b()',
          detail: 'function b(): void',
          documentation: '全局对象 a 的方法'
        }
      ],
      properties: [
        {
          label: 'version',
          detail: 'string version'
        }
      ]
    }
  ]
}
```

###  Java 示例

```ts
const completionConfig = {
  java: [
    {
      object: 'a',
      methods: [
        {
          label: 'b',
          insertText: 'b(${1:name})',
          detail: 'String b(String name)',
          documentation: '全局对象 a 的方法',
          snippet: true
        }
      ],
      properties: [
        {
          label: 'version',
          detail: 'String version'
        }
      ]
    }
  ]
}
```