Skip to content

Latest commit

 

History

History
151 lines (151 loc) · 4.85 KB

PROGRESS.md

File metadata and controls

151 lines (151 loc) · 4.85 KB

Version 1.0

  • Language Server scaffolding
  • Hover
    • Basic hovering
      • Functions
      • Methods
      • Identifiers
      • Kwargs
    • Limited docs on hover
    • Improve docs on functions/methods regarding arguments and return types
  • Symbol resolving
  • Basic diagnostics
  • Type definitions for all modules/builtins
    • Functions
    • Builtin objects
    • Modules
      • CMake
      • CUDA
      • Dlang
      • External Project
      • Filesystem
      • GNOME
      • Hotdoc
      • i18n
      • Icestorm
      • Java
      • Keyval
      • Python 3
      • Python
      • Qt4
      • Qt5
      • Qt6
      • Simd
      • SourceSet
      • Rust
      • Wayland
      • Windows
  • Formatting
  • Symboltree
  • Rudimentary autocompletion

Version 2.0

  • Usable autocompletion
  • More diagnostics
    • Unused variables
    • Deprecated options
  • Full Wrap support
    • Define data model
    • Parse wrap files
    • Setup directory structures
      • wrap-file
      • wrap-git
      • wrap-hg
      • wrap-svn
      • Apply patches
      • Apply diffs
    • Check all checksums
    • Use fallback URLs
    • Apply to all files to WrapDB in CI
  • Full Subproject support
    • Setup subproject structure
    • Load subprojects in initialize
    • Wire it up so that the LSP functions work
    • Include in type analysis
  • Highlighting
  • Cache tree from tree-sitter (And the AST that is generated from the tree-sitter tree!)
  • More tests
  • VSCode Extension (Just a fork of vscode-meson currently)
  • Inlay hints
  • Add swiftlint to CI
  • Add swift-format to CI
  • Add MacOS to CI
  • Switch from atomics to Task.isCancelled for cancellation of parsing

Version 3.0

  • Renaming
    • Rename loop variables
    • Rename local variables
  • Code actions
    • Integer literal to decimal/binary/octal
    • static_library/shared_library/both_libraries to library
    • shared_library to shared_module (And reverse)
    • configure_file(copy: true) to fs.copyfile()
    • Create dependency using declare_dependency from library
    • Sort filenames
    • Download wrap for missing subproject from WrapDB
  • Document the language server
  • Add to vscode-meson upstream
  • Upstream GNOME Builder plugin (See issue #629)
  • Investigate PGO (Does not seem to work on Linux)
  • Check if CollectionOfOne speeds up TypeAnalyzer (Not tested, but requires too many other changes)
  • Autocomplete variable names in subproj.get_variable()
  • Support apt-like
    • Debian
      • Stable
      • Testing
      • Unstable
    • Ubuntu
      • 18.04
      • 20.04
      • 22.04
    • Setup apt repo in an external GitHub repo
  • Update git repos of subprojects, when a branch was specified as revision
  • Basic typechecking of arguments (Not every error will be caught)
  • Add progress bar for setting up the subprojects (Requires upstream work)
  • Add Windows to CI
    • Compiles on Windows
    • Works using CLI
    • LSP works
    • Downloading wraps works
    • Setting up wraps works
      • wrap-git
      • wrap-svn/wrap-hg
      • wrap-file
        • tar.gz
        • tar.bz2
        • tar.xz
        • zip
      • Applying diffs works

Version 4.0

  • Checking for nested ternaries
  • Semantic tokens
    • Single-line strings
    • Multi-line strings
  • Actions need cleanup
  • Folding range
    • Foreach-Loops
    • Selection-Statements
  • Automatic update of vscode-meson
  • Improve heuristics for subdir etc.
  • More Codeactions
    • ''.format(x,y,z) where the arguments are only identifiers, convert to format string
  • More tests
    • LSP-Tests using pygls
    • Other tests using GTest
      • Find declaration
      • Find definition
      • Document symbols
      • Folding ranges
      • Formatting
      • Highlighting
      • Hover
      • Inlay hints
      • Semantic Tokens
      • Completion
      • Typeanalyzer

Version n