Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library Sequences from Workspace #1539

Merged
merged 6 commits into from
Nov 21, 2024
Merged

Conversation

goetzrrGit
Copy link
Contributor

@goetzrrGit goetzrrGit commented Nov 5, 2024

This pull request introduces support for library sequences, which allow users to use sequences within their workspaces. Closes #1501

Key Changes:

WorkspaceID Passthrough: The workspaceID is now passed to the SequenceEditor, enabling it to work with sequences from the selected workspace.
Library Sequence Library Type: A new library sequence type has been created, and the Adaptation object has been updated accordingly.
Workspace Sequence Mapping: All sequences in the selected workspace are automatically recognized as library sequences.
Linter Integration: The linter now checks the syntax and semantics of library sequence arguments.
Selected Command Panel Enhancements: The Selected Command panel now displays load and activate arguments for library sequences.
Autocompletion Support: Autocompletion is available for library sequence identifiers.

How to test

  • Create a new workspace
  • Create SeqA with the below content
@INPUT_PARAMS_BEGIN
VARIABLE INT "10...20"
LOCATION STRING
NAMES ENUM person_name "" "BOB, TOM"
tmp3 UINT
@INPUT_PARAMS_END
C ECHO "A library Sequence" 
  • Create SeqB in the same workspace
  • Type in @ACTIVATE or @LOAD, autocomplete should appear for these Directives
  • Change 'Sequence.Name' and autocomplete should show SeqA as an option
C @ACTIVATE("seqA")
  • Verify that autocomplete will add default values
  • Tweak the values and test the linter
  • Modify the arguments in the Command Panel off to the right

@goetzrrGit goetzrrGit added the sequencing Anything related to the sequencing domain label Nov 5, 2024
@goetzrrGit goetzrrGit requested a review from a team as a code owner November 5, 2024 22:35
@cohansen cohansen self-requested a review November 5, 2024 23:42
@cohansen cohansen assigned goetzrrGit and unassigned cohansen and joswig Nov 5, 2024
@goetzrrGit goetzrrGit changed the title Feature/library sequences Library Sequences from Workspace Nov 6, 2024
Copy link
Collaborator

@duranb duranb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we're trying too hard to make the VariableDeclaration work with the existing components. In order to make these components more reusable, we should remove the concepts of "args" and "dictionaries" from them and have the parent component pass in what's necessary. For example, for EnumEditor, we should not be deriving the options from the definition, but rather passing in an array of options as a prop.

src/components/sequencing/form/ArgTitle.svelte Outdated Show resolved Hide resolved
Copy link
Contributor

@cohansen cohansen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for addressing my feedback.

Copy link
Collaborator

@duranb duranb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

* Using the workspace_id all sequences in a workspace are library sequences.
* Pass this list of library sequences along to the different parts of codemirror etc. linter, autocomplete, SelectedCommand Panel.
* The linter will typechecking the library sequences parameters/arguments
@goetzrrGit goetzrrGit force-pushed the feature/library_sequences branch from 2bbf772 to 2e0da76 Compare November 21, 2024 19:01
@goetzrrGit goetzrrGit merged commit 452f1f0 into develop Nov 21, 2024
5 checks passed
@goetzrrGit goetzrrGit deleted the feature/library_sequences branch November 21, 2024 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sequencing Anything related to the sequencing domain
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Develop On-Board Subroutine Library Import and Linting Support
4 participants