Skip to content

Latest commit

 

History

History
231 lines (158 loc) · 6.46 KB

todos.org

File metadata and controls

231 lines (158 loc) · 6.46 KB

compile-mode.nvim TODOs

Add goto error message outputs

Place previous command in vim.o or vim.g

Support split modifier

Configure compilation buffer name

Configure highlight colors

Configure highlight of text that starts with `:`

Goto error - patterns for different compilation types

Goto error - go to a certain line and column

Goto error - next error and previous error

Goto error - customize patterns

Goto error - use less ugly colors

Refactoring - use plenary async for vim.schedule

Refactoring - extract keymap handler for <CR>

Add highlights for lines starting with `Text:`

Update README/docs

Add `Compilation Buffer` section

Add `Goto Error` section

Organize code

Add tests, at some point

Add compilation-hidden-output

Add CurrentError command

Add QuickfixErrors command

Add CompilationNext{Error,File} and CompilationPrev{Error,File}

Add auto-jump to first error option

Refactor get_error_line-based functions

Remove Baleia support

Implement all of the additional highlights

  (defvar compilation-mode-font-lock-keywords
   '(;; configure output lines.
     ("^[Cc]hecking \\(?:[Ff]or \\|[Ii]f \\|[Ww]hether \\(?:to \\)?\\)?\\(.+\\)\\.\\.\\. *\\(?:(cached) *\\)?\\(\\(yes\\(?: .+\\)?\\)\\|no\\|\\(.*\\)\\)$"
      (1 font-lock-variable-name-face)
      (2 (compilation-face '(4 . 3))))
     ;; Command output lines.  Recognize `make[n]:' lines too.
     ("^\\([[:alnum:]_/.+-]+\\)\\(\\[\\([0-9]+\\)\\]\\)?[ \t]*:"
      (1 font-lock-function-name-face) (3 compilation-line-face nil t))
     (" --?o\\(?:utfile\\|utput\\)?[= ]\\(\\S +\\)" . 1)
     ("^Compilation \\(finished\\).*"
      (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)
      (1 compilation-info-face))
     ("^Compilation \\(exited abnormally\\|interrupt\\|killed\\|terminated\\|segmentation fault\\)\\(?:.*with code \\([0-9]+\\)\\)?.*"
      (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)
      (1 compilation-error-face)
      (2 compilation-error-face nil t)))
   "Additional things to highlight in Compilation mode.
This gets tacked on the end of the generated expressions.")

Add ask about save before compiling

Add checks for segfault or termination

Add compilation environment

Parse entering/leaving directory messages

Use for highlighting

Use for determining relative paths

Add ask-to-interrupt

Allow skipping/jumping forward several errors

Move logic to compilation ftplugin

Add documentation for highlights

Support :tab

Make `ask_to_interrupt` and `ask_about_save` the default

Rename `compilation_hidden_output` option

Add lots of new tests

Document behavior of :Compile!

Re-add optional Baleia support

Add Next Error Follow

Mode that “preview” the locus of errors in a split next to the compilation window.

Add diagnostic windows

As configuration option, probably…

Refactor configuration logic

Read more here.

Use `vim.g` variable

Use internal config type VS. opts type

Add validation

Use `busted` for tests instead of `pleanry.nvim`

Publish to LuaRocks

Add general health checks

Refactor debug logic

Don’t use `print`; do something neater and cleaner.

Add typecheck action

Fix issue with bufnr on Windows

Fix `hidden_output` warning

Fix environment variable tests on Windows

Add custom completion that uses Vim’s `:!` completion

Fix issues with tab splitting

Switch away from compilation window like in Emacs mode

Add `NextError` and `PrevError` error threshold

Move all logic to filetype logic

Such that we enable editing a file with the compilation filetype and having the same functionality as the rest of compile-mode.

Add `FirstError` command

Jump to first error

Jump to `count`th error

Allow dynamic changing of `vim.g.compile_mode` between compilations

Refactor error-related API to use one main function

Make some logs trace-level

Add ability to customize entering-leaving regex