generated from JetBrains/intellij-platform-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 10
Closed
Description
0.1.4 Roadmap
Fixes
- fix param error highlighting for macros in the search scope for what's below the comment.
- add description before contracts in doc comment to hover doc
- add check for completion in doc comments to stop them from happening after typing
. - check if comment has an underlying function or macro and only try to get the function/macro if one is present
- add hover doc for macros
- fix default module function's doc comments not finding function param
- fix top level code completion interfering with doc comments
- remove param from hover doc that only exists in doc comment
Additional features
- fully implement correct checks for missing imports
- fully implement correct checks for missing functions and macros in module
- optimize stdlib path lookup method - try run
c3c compile --build-envto extract the Stdlib if successful -
add hover doc for function and macro calls based on the module lookup method to guess the original function or macro[MOVED TO 0.1.5 DUE TO NEED TO REWRITE GRAMMAR FILE] - add stdlib path selector in project wizard
- add banner to alert the user when the stdlib variable isn't set
- add correct string highlighting to all contracts that support a description
-
add deprecation warning highlight on calls if function is marked as deprecated[MOVED TO 0.1.5 DUE TO NEED TO REWRITE GRAMMAR FILE] - make doc comment parameter names a different color/styling
-
add error highlighting on closing brace of macro- and function-bodies if missing a return statement[MOVED TO 0.1.5 DUE TO HIGH COMPLEXITY AND NEED TO REWRITE GRAMMAR FILE] - optimize code completion in doc comments
Necessary tests
- this code must run properly and display all features functioning properly
/*
highlighting and doc should also be fine in default module
*/
<*
This comment should also appear in the hover doc
@param list : "the list to search"
@param lookup : "the number to search for"
@param error : "this should highlight as an error since the param doesn't exist"
@return "true if the number could be found in the list"
*>
fn bool test_function(int[] list, int lookup)
{
foreach (i : list)
{
if (i == lookup) return true;
}
return true;
}
<*
This comment should also appear in the hover doc
@param list : "the list to search"
@param lookup : "the number to search for"
@param error : "this should highlight as an error since the param doesn't exist"
@return "true if the number could be found in the list"
*>
macro bool test_macro(list, lookup)
{
foreach (i : list)
{
if (i == lookup) return true;
}
return true;
}
module main;
/*
method to run the project and check for run errors
*/
fn void main() {}
module test_missing_import;
/*
this should highlight the call as a warning since no suitable
import was found
*/
fn void test_missing_import()
{
io::printn("Test");
}
module test_missing_function_in_module;
import std::io;
/*
this should highlight the call as a warning since no suitable
function or macro was found in the module
*/
fn void test_missing_function_in_import()
{
io::error("Test");
}
module test_hover_doc_for_functions_and_macros;
/*
this should display the doc comment and the contracts listed
in the comment nicely organized on hover
*/
<*
This comment should also appear in the hover doc
@param list : "the list to search"
@param lookup : "the number to search for"
@param error : "this should highlight as an error since the param doesn't exist"
@return "true if the number could be found in the list"
*>
fn bool test_function(int[] list, int lookup)
{
foreach (i : list)
{
if (i == lookup) return true;
}
return true;
}
<*
This comment should also appear in the hover doc
@param list : "the list to search"
@param lookup : "the number to search for"
@param error : "this should highlight as an error since the param doesn't exist"
@return "true if the number could be found in the list"
*>
macro bool test_macro(list, lookup)
{
foreach (i : list)
{
if (i == lookup) return true;
}
return true;
}Test checks
- test_missing_function_in_import
- test_missing_function_in_module
- test_hover_doc_for_functions_and_macros
-
test_hover_doc_for_function_and_macro_calls[MOVED TO 0.1.5 DUE TO NEED TO REWRITE GRAMMAR FILE]
Other checks
- see if path selector is present in both project wizards
- see if the banner displays in case of c3c not being installed or not being able to locate the stdlib path
- see if all strings in doc comments have correct highlighting
- see if the completion in doc comments works properly and only suggests at appropriate sections/parts of the comment
- see if the parameter names in doc comments have a unique styling
TESTED SYSTEMS
- tested on windows
- tested on linux
- tested on darwin
DO NOT MERGE UNTIL ALL BOXES ARE CHECKED AND ALL TESTS HAVE BEEN MARKED AS COMPLETED, ADDITIONALLY THESE FEATURES SHOULD BE TESTED BY AT LEAST 2 PEOPLE ON 2 DIFFERENT OPERATING SYSTEMS TO ASSURE CROSS-COMPATIBILITY WITH SOME FEATURES
Metadata
Metadata
Assignees
Labels
No labels