neovim / node-client

Nvim Node.js client and plugin host
https://neovim.io/node-client/
MIT License
464 stars 49 forks source link

feat(logger): timestamp, pretty-print objects #337

Closed justinmk closed 3 months ago

justinmk commented 3 months ago

BEFORE:

info: [object Object]
debug: request -> nvim_command
debug: request -> nvim_list_wins
debug: response -> nvim_command: null
debug: response -> nvim_list_wins: [object Object],[object Object],[object Object],[object Object]
...

AFTER:

2024-03-20 11:37:25 INF {
  matches: [
    {
      nvimVersion: '0.10.0-dev-2657+g9765efb40f57',
      path: '/usr/local/bin/nvim',
      buildType: 'RelWithDebInfo',
      luaJitVersion: '2.1.1710088188'
    }
  ],
  invalid: []
}
2024-03-20 11:37:25 DBG request  -> nvim_command
2024-03-20 11:37:25 DBG request  -> nvim_list_wins
2024-03-20 11:37:25 DBG response -> nvim_command: null
2024-03-20 11:37:25 DBG response -> nvim_list_wins: [
  {
    _events: [Object: null prototype] {},
    _eventsCount: 0,
    _maxListeners: undefined,
    transport: '[Object]',
    data: 1003,
    logger: '[Object]',
    client: '[Object]',
    prefix: 'nvim_win_'
  },
  {
    _events: [Object: null prototype] {},
    _eventsCount: 0,
    _maxListeners: undefined,
    transport: '[Object]',
    data: 1002,
    logger: '[Object]',
    client: '[Object]',
    prefix: 'nvim_win_'
  },
  ...
]
...
2024-03-20 11:37:25 DBG request  -> nvim_buf_get_lines
2024-03-20 11:37:25 DBG response -> nvim_buf_get_lines: [ 'line1', 'line2' ]