-
-
Notifications
You must be signed in to change notification settings - Fork 13
Basic implementation for ODM parsing #37
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
Merged
Merged
Changes from 134 commits
Commits
Show all changes
150 commits
Select commit
Hold shift + click to select a range
aace090
Add generated xml-schema-derive results
matzipan f6af862
Fix whitespace
matzipan e1f3fe2
Fix namespaces and imports
matzipan 37845c7
Fix imports
matzipan 04e00e6
Fix type namespaces
matzipan 48fe90f
Remove custom list serde
matzipan b643045
Implement choice types
matzipan 361502e
Add copyright headers
matzipan a3f8ffd
Patch out wrong type refs
matzipan b0a36d5
Make field publicly editable
matzipan 7608368
Add test for OEM
matzipan 6989aec
Add OMM test
matzipan 4dbea18
Making the same as in oem test
matzipan 5444d8f
Fix test name
matzipan a3546f7
Simplify extension types
matzipan cef08ff
Add OEM test 2
matzipan c3193d6
Add OMM test 2
matzipan 2da81aa
Add OMM message test with units
matzipan 3346fd8
Add OMM message test 3
matzipan 566f16d
Clarify empty_object_id test
matzipan 44a16e7
Make types as float
matzipan f5e3bb4
Add omm message 3 test
matzipan c901da8
Add test for spurious corrupted data
matzipan 1868b58
Add opm test
matzipan 265b162
Add OCM test
matzipan 04564d0
Add OPM invalid message test
matzipan b28c9e0
Make the OMM message test a bit more complicated
matzipan b960061
Add user defined parameters to list
matzipan 4684beb
Add keplereian elements to OPM message test
matzipan 9762c29
Add maneuver parameters to opm test
matzipan 59d8240
Add combined NDM element
matzipan 7deb4de
Rename folder to ndm
matzipan 1c52c50
Implement support for mixed sequences
matzipan a6bf208
Move the xml parser to its own folder
matzipan 2b8a8e9
Implement OMM JSON parsing
matzipan d70e6fb
Expand test and add support for string numbers
matzipan 7e83e2c
Initial KVN parser
matzipan d23754d
Implement units
matzipan 73c0815
Add some negative tests for kvn parser
matzipan 2da47cb
Allow flexibility for whitespace at start
matzipan 8427117
Change the parser to not be line-aware
matzipan 587c428
Add COMMENT parsing
matzipan 3e35e6e
Implement KVN date parser
matzipan 8a1f900
Implement integer line support
matzipan b6e6f6c
Test parsing an invalid integer
matzipan 7da8259
Implement float ODM parsing
matzipan 4af1429
Add copyright header
matzipan 3918cf6
Implement deserializer proc macro
matzipan 874ec8a
Move KVN parser to separate file
matzipan 7fb1d7e
Add missing copyright header
matzipan 3152734
Implement option type
matzipan 8ee3512
Implement vec type deserializer
matzipan 87f304b
Use vec for OPM comment field
matzipan 36c4a39
Reorganize the tests a little bit
matzipan 603c163
Add support for structs in options
matzipan a8c6812
Fix non-nested structs
matzipan 99d6316
Parse a complete OPM message
matzipan da9924a
Add support for _list suffix for vecs
matzipan b75c64a
Add _list suffix to opm vecs
matzipan 7b61b2c
Update test expectation
matzipan c7ed371
Make error types more descriptive
matzipan 075e673
Update syn crate
matzipan 1c97923
Implement struct deserialization
matzipan a9ca33b
Implement support for tuple struct
matzipan 73a97c8
Clean-up string type
matzipan 31e9801
Simplify the wrapped types
matzipan 44a8634
Make the XML metadata optional
matzipan 5dad810
Remove leftover println
matzipan bda9175
Remove commented out parser
matzipan 16b52be
Enable returning full string value for datetime
matzipan 164233d
Implement relaxed parsing of strings
matzipan 01f3de9
Remote test for old-style parsing
matzipan 612b131
Enable KVN deserializer on OPM structs
matzipan 80e033c
Remove old OPM parser
matzipan 0b5e261
Add temp parser for comment
matzipan 1577021
Remove the old style parsing functions
matzipan de69cd1
Implement OPM parsing with XML struct
matzipan 8947f09
Implement OMM and OCM KVN parsers
matzipan 9b2b2b1
Fix formatting
matzipan 00e9f80
Add back a todo
matzipan 4aaee44
Relax parsing of string inputs
matzipan 2dc1543
Add some todos to the code
matzipan 9b17004
Add tests for COMMENT parsing
matzipan e0f546c
Remove keyword from error type
matzipan 16add1b
Implement InvalidFormat and EmptyKeyword detection
matzipan e15c4e3
Extend number tests
matzipan ddd0eaf
Add empty value check for string
matzipan cf0d4a9
Expand datetime test
matzipan a138c26
Remove todo from fixed test
matzipan d9d11b8
Fix formatting
matzipan 1664f59
Clean-up todos
matzipan 04c9822
Add support for version field
matzipan 410c4a5
Enable OMM test
matzipan 6372a15
Clean-up imports
matzipan 737875e
Fix crate name case
matzipan 8324b5f
Add missing test cfg annotation
matzipan e7cbbda
Fix formatting
matzipan 556407b
Make clippy happy
matzipan dc3654e
Remove leftover trailing whitespace
matzipan 2016c37
Remove file leftover from merge resolve
matzipan 6a07840
Move ndm parsing to lox-io
matzipan a2dc3fc
Fix type inference for into
matzipan 2931bdf
Remove unused variable
matzipan 66347b0
Make clippy happy
matzipan da7fe28
Fix unused with_unit
matzipan 50f320d
Ignore proc macro from coverage
matzipan 08caa53
Move user-facing classes into the main namespace
matzipan f3b8471
Remove superfluous types
matzipan d5da926
Restructure public interface
matzipan f3991cb
Add submodule rustdoc
matzipan c7afe4d
Add missing copyright header
matzipan 8d20e70
Remove debug println
matzipan 70f7a30
Reexport the KVN deserializer types
matzipan c171361
Add module docs
matzipan f9469d7
Clean-up string type
matzipan 0a0a5b4
Derive KVN deserialization code
matzipan b785554
Make the parser visible in the crate
matzipan 81d0d22
Simplify the wrapped types
matzipan d492e17
Make the id value optional for KVN
matzipan 9dc20fe
Add KVN parsing tests
matzipan 6227010
Simplify parsing imports
matzipan 78c57e3
Add doc tests
matzipan b69c7b5
Indicate module is for combined instantiation
matzipan 5614ccc
Make list order match the nested match
matzipan 5af75bb
Remove special case the EpochType
matzipan e370420
Simplify version field handling by reodering
matzipan a8cb41b
Add whitespace to fix false positives
matzipan 4ff7581
Simplify unamed fields handling
matzipan ecc2669
Fix usage of date time parser
matzipan ec9c806
Change date format
matzipan 9dfe3b2
Document KVN parsers
matzipan b27b600
Document relaxations and limitations
matzipan 6f5a963
Hide doctest line
matzipan 0826e20
Remove unused types
matzipan 1f34726
Make error payload an owned string
matzipan 5f21909
Add _list suffix for consistency
matzipan ebb19b2
Add new line at end of file
matzipan ffffd00
Make KvnDeserializerErr cloneable
matzipan 0297098
Add Error derive
matzipan 5ddb3b2
Make single-variant enum into struct
matzipan b6abdbf
Fix typo in rustdoc
matzipan 2be3c31
Expand KVN spec comment
matzipan 0baf952
Clean-up extra commas
matzipan 08cfc1f
Make the check more idiomatic
matzipan eb9a2ea
Fix comment wrap
matzipan 15f0ab2
Encapsulate the quickxml deserialization
matzipan fd160ed
Add trait for XML deserialization
matzipan bd2a675
Encapsulate kvn string split
matzipan acaecdb
Explain it is generated code
matzipan 7ca1fb0
Remove superfluous lifetimes to get clippy happy
matzipan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| ignore: | ||
| # This code is tested indirectly with high coverage but coverage tools don't | ||
| # handle proc macros | ||
| - "crates/lox-derive/src/lib.rs" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| [package] | ||
| name = "lox-derive" | ||
| version = "0.1.0" | ||
| edition = "2021" | ||
|
|
||
| [lib] | ||
| proc-macro = true | ||
|
|
||
| [dependencies] | ||
| proc-macro2 = "1.0.81" | ||
| quote = "1.0.20" | ||
| syn = "2.0.63" |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.