Damien Elmes
467064f873
collapsed->expanded in other tag uses for consistency
2021-02-02 18:52:57 +10:00
Damien Elmes
8e0f69b71c
return tags as a string list directly; we don't need usn or collapse state
2021-02-02 18:52:57 +10:00
Damien Elmes
52b256663f
collapsed->expanded in TagTreeNode
2021-02-02 18:52:57 +10:00
Damien Elmes
7d8448a321
decks start collapsed
2021-02-02 17:14:11 +10:00
Damien Elmes
4b7d30f515
tags start collapsed
2021-02-02 16:47:05 +10:00
Damien Elmes
4a4aef3972
Merge pull request #959 from Arthur-Milchior/AGPL
...
NF: add AGPL licence missing in some file
2021-02-01 12:46:59 +10:00
Damien Elmes
d219337023
Update card_stats.html
...
Don't want the header accidentally getting copied about when users copy+paste their stats.
2021-02-01 12:46:29 +10:00
Arthur Milchior
8b5ae7d7c5
NF: add AGPL licence missing in some file
...
I noticed it when I looked at some files now used in AnkiDroid, wanting to be sure we clearly indicate that we have
AGPLv3 code linked in the app
2021-01-31 21:50:21 +01:00
RumovZ
13c6921da1
Remove protobuf filters whole_col and current_deck
2021-01-31 11:12:49 +01:00
Damien Elmes
260a270eb0
embed BuiltinSortKind
2021-01-31 18:56:16 +10:00
Damien Elmes
5974163343
embed kind enum in StockNoteType and remove prefix
2021-01-31 18:56:16 +10:00
Damien Elmes
cb805cf355
Merge branch 'more-backend-search' into main
2021-01-31 14:21:51 +10:00
Damien Elmes
8410330f94
move drag/drop deck logic to backend
2021-01-31 13:46:31 +10:00
RumovZ
692aa16f6b
Rename EaseKind to RatingKind
2021-01-30 19:03:50 +01:00
RumovZ
b0890b0e47
Manually namespace enum variants in SearchTerm
...
In protobuf "...enum values use C++ scoping rules, meaning that
enum values are siblings of their type, not children of it.
Therefore, [an enum variant] must be unique within [a message],
not just within [the enum.]"
So we must prefix enum variants with their enum's name, but can
also call them directly from the message namespace.
The protobuf crate is smart, though, and strips the prefixes.
(Simultaneously change some SearchTerm variant names.)
2021-01-30 17:56:29 +01:00
RumovZ
4745b55d27
Revert addition of pb.NoteIDs
2021-01-30 12:59:18 +01:00
Damien Elmes
705012164b
move Rating up a level
...
More ergonomic, and will allow reuse if we expose prop:rated in
the future.
2021-01-30 11:54:39 +10:00
Damien Elmes
cb6b88da0f
simplify nid/nids searches, and ditch helper function
...
- IdList could be re-used for a cids: search in the future if required.
- Embedding the message means it's easy to access from Python as
an attribute of SearchTerm.
2021-01-30 11:37:00 +10:00
Damien Elmes
1adc9952f4
simplify Dupe message and ditch helper function
...
Calling code doesn't need to know about the existence of such helpers;
it can just rely on code completion to discover the required arguments.
2021-01-30 11:10:26 +10:00
Damien Elmes
73b897c754
rename FilterToSearchIn in backend to match frontend
2021-01-30 10:54:21 +10:00
Damien Elmes
52bac7a7a1
use a separate enum for the is:* searches
2021-01-30 10:49:00 +10:00
Damien Elmes
22b80c2dd5
combine forgot_in_days and studied_today into a more general 'rated'
2021-01-30 10:26:23 +10:00
RumovZ
c299e271e8
Refactor search_string() and FilterToSearchIn
...
See #955 .
2021-01-29 18:27:33 +01:00
Damien Elmes
6ba5ff5a01
place each sidebar section under its own collapsible parent node
...
- Allows for group operations like "clear unused tags"
- Allows users to hide groups they're not interested in
2021-01-29 22:11:05 +10:00
Damien Elmes
5ff7944a26
add getter/setter for boolean config values
2021-01-29 21:03:19 +10:00
RumovZ
1fb6024454
Rename filters added_in etc. to added_in_days
2021-01-29 09:38:13 +01:00
Damien Elmes
a9be60c8b4
sort config keys
2021-01-29 16:31:29 +10:00
Damien Elmes
7693879e3c
remove unused set_all_config; expose .all_config().
2021-01-29 16:30:42 +10:00
RumovZ
d33442f901
Add backend filter for field name
2021-01-28 19:48:01 +01:00
RumovZ
da6f3b7e76
Fix nid search test
2021-01-28 16:29:34 +01:00
RumovZ
bc52a54dfc
Add nid filter on backend
2021-01-28 16:19:55 +01:00
RumovZ
b15bb4289e
Add forgot, due and added filters on backend
2021-01-28 11:11:32 +01:00
Damien Elmes
e4d44efecc
unbury on sync start
...
https://forums.ankiweb.net/t/unburying-works-differently-on-anki-desktop-ankiweb-and-ios-app/6909
2021-01-28 11:54:48 +10:00
Damien Elmes
163a9df886
avoid bumping mtime when correcting card eases on upgrade
...
The USN is still set, which should cause the cards to sync in the
non-conflict case, but if changes have been made on other devices
the ease fix will not take priority, as we could be overwriting the
reviews of someone who has not synced in a while.
2021-01-28 08:11:35 +10:00
Damien Elmes
2319312d94
Merge pull request #953 from hgiesel/backlogcb
...
Add FutureDueShowBacklog as preferences
2021-01-27 19:44:01 +10:00
Damien Elmes
9299dc60f4
suggest DB check if HTTP status 400 is returned
2021-01-27 14:23:28 +10:00
Henrik Giesel
677f4d340c
Add FutureDueShowBacklog as preferences
2021-01-27 01:15:19 +01:00
Damien Elmes
644cc46dea
Merge pull request #897 from hgiesel/statssearch
...
Triggering searches from the stats screen.
2021-01-26 11:31:36 +10:00
Henrik Giesel
759ed17963
Move dispatch logic from Histogram to individual graphs
2021-01-25 16:34:44 +01:00
Henrik Giesel
60ed9c1e22
Add back bridge_commands_support via backend.proto
2021-01-25 13:47:20 +01:00
Kerrick Staley
1eac36c5d7
Add comment explaining why sfld column has type integer
...
The `notes.sfld` column in the `collection.anki2` database has type `integer`, even though it contains text. This is [something SQLite allows](https://dba.stackexchange.com/questions/106364/text-string-stored-in-sqlite-integer-column ) and was done to allow integer values to sort numerically. Add a comment explaining this.
2021-01-25 18:39:59 +08:00
Damien Elmes
d70132cc8b
handle missing deck ID in templates
...
https://github.com/ankidroid/Anki-Android/issues/7512
2021-01-25 16:47:23 +10:00
Damien Elmes
ef9f6b022b
coerce some more invalid decimal values to ints during sync
2021-01-25 09:43:50 +10:00
Damien Elmes
370fc00afd
handle older clients not setting 'done' key when false
2021-01-24 09:05:17 +10:00
Damien Elmes
2a875ffc55
Merge pull request #934 from hgiesel/graphprefs
...
Add GraphsPreferences API to graphs for setting persistent preferences
2021-01-23 21:24:41 +10:00
Damien Elmes
37ca8afaf6
minor wording tweak: GraphsPreferences -> GraphPreferences
2021-01-23 20:47:45 +10:00
Damien Elmes
bdc5c619f7
handle decks/notetypes with a duplicate name being sent in a sync
...
Typically caused by older clients, but could happen if the user added
the same name on different devices without syncing.
Also add an inactive test that was used to try track down this issue
and might be useful in the future.
2021-01-23 12:59:24 +10:00
Henrik Giesel
de71123ab4
Rename GraphsPreferencesOut to simply GraphsPreferences
2021-01-22 19:39:03 +01:00
Henrik Giesel
ebd3ca8a8f
Set calendar labels to emptyColour
2021-01-22 18:15:16 +01:00
Henrik Giesel
834f2de99b
Make cardCountsSeparateInactive settable
2021-01-22 18:03:58 +01:00
Henrik Giesel
aebaa04652
Uniformly rename firstWeekday to firstDayOfWeek
2021-01-22 16:53:33 +01:00
Henrik Giesel
054c30a695
Add non-functioning logic for settings graphs preferences
2021-01-22 13:14:35 +01:00
Henrik Giesel
665a13e378
Add GraphsPreferences endpoint to backend
2021-01-22 13:13:48 +01:00
Damien Elmes
99d732799c
(de)serialize Weekday directly
...
Re: discussion in https://github.com/ankitects/anki/pull/934
2021-01-22 12:12:57 +10:00
Damien Elmes
a77aa6b65a
handle non-chunked graves from AnkiDroid
2021-01-22 10:00:25 +10:00
Damien Elmes
ce50b1cddf
add missing file header
2021-01-21 10:31:34 +10:00
Damien Elmes
44cde24679
fix context in rated: search error message
2021-01-19 18:33:10 +10:00
Damien Elmes
d273ebb756
more parsing error tweaks
...
The majority of the error checking can now be delegated to routines
like parse_f32(), parse_negative_i32() and so on, instead of creating
specific error messages for each type.
2021-01-19 15:50:26 +10:00
Damien Elmes
0b83efb63e
simplify write_props() and associated translations
...
This is a work in progress; see associated PR discussion to follow.
2021-01-19 12:40:16 +10:00
Damien Elmes
a4ec467284
have register_tag mutate the tag if it changes it, instead of copying
2021-01-19 12:37:51 +10:00
Damien Elmes
9edb002679
fix deck and tag normalization
...
The issue existed in the deck code as well; I've added a test for it.
2021-01-19 12:36:01 +10:00
Damien Elmes
09bea954a2
Merge pull request #929 from abdnh/tag-case
...
Make tags match their parents case
2021-01-19 11:56:03 +10:00
Damien Elmes
71f1d3b982
tweaks to the parent matching behaviour
...
- move logic out of the storage layer - its job is only to read
and write data from the DB
- avoid the Result within a Result
- return the preferred case as an option, so we can avoid a copy
in the unchanged case
- return a Cow when normalizing, so we can avoid copying in the
unchanged case
- add tags directly in clear_unused_tags(), so we avoid doing
lookups for every tag in the tag list
2021-01-19 11:52:24 +10:00
abdo
3159cf4ab6
Make tags match their parents case
...
https://github.com/ankitects/anki/pull/900/#issuecomment-762018745
2021-01-19 02:29:09 +03:00
Henrik Giesel
a5947e5c65
Satisfy formatter
2021-01-19 00:17:30 +01:00
Henrik Giesel
04e606bf4b
Add firstWeekday to GraphsOut
2021-01-18 23:10:53 +01:00
Damien Elmes
318cc01c73
Merge pull request #900 from abdnh/tagtree
...
Hierarchical tags
2021-01-18 16:36:22 +10:00
abdo
0ac97cf358
clear_tag() should be case-insensitive
2021-01-18 03:52:28 +03:00
Henrik Giesel
84c997fa4d
Adjust unit tests for new InvalidRatedEase
2021-01-18 00:05:20 +01:00
Henrik Giesel
bdc6494c79
Generalize InvalidRatedEase error for rated and prop:rated
2021-01-17 23:55:05 +01:00
Henrik Giesel
2b45ef22a5
Use explicit unreachable in rust pattern matching
2021-01-17 22:18:12 +01:00
Henrik Giesel
bc81165be4
Add resched to tags
2021-01-17 21:44:56 +01:00
Henrik Giesel
947260e4aa
Reintroduce false removed limits
2021-01-16 17:38:02 +01:00
Henrik Giesel
e7660113ce
Change argument order of write_rated to be more in line with the logic
2021-01-16 15:24:22 +01:00
Henrik Giesel
112e7f577e
Lift the 365 limit from rated/resched searches
2021-01-16 15:08:15 +01:00
Henrik Giesel
47542f97e5
Fix issues after rebasing
2021-01-16 13:07:35 +01:00
Henrik Giesel
908e0a375c
Being overly correct with the review ids
2021-01-16 12:45:02 +01:00
Henrik Giesel
8f3c63bf0b
Fix formatting
2021-01-16 12:45:02 +01:00
Henrik Giesel
88c75d73b6
Pass in the the negative offset day to write_rated
2021-01-16 12:44:59 +01:00
Henrik Giesel
3788cb8890
Port prop:rated to EaseKind
2021-01-16 12:44:03 +01:00
Henrik Giesel
b57d0da12a
Implement functioning prop:rated
2021-01-16 12:42:08 +01:00
Henrik Giesel
ce55dc4a75
Add nonfunctional "prop:rated" as possible search query
2021-01-16 12:42:06 +01:00
Damien Elmes
34245e6f72
use of 'self' in function name was confusing
2021-01-16 21:14:55 +10:00
Damien Elmes
9f964916ab
simplify unused tags and DB check
...
- backend routines should contain minimal logic, and should call
into a routine on the collection
- instead of copying the giant-string approach the Python code was taking,
we use a HashSet to keep track of seen tags as we loop through the
notes, which should be more efficient
2021-01-16 20:38:16 +10:00
Damien Elmes
d80a5c56e3
no need for separate all_tags_sorted()
...
tag is the primary key, so sqlite will give it back to us in
sorted order already.
2021-01-16 19:46:58 +10:00
Damien Elmes
d54acba81f
custom ord/partialeq is not required; fix clippy lint
2021-01-16 19:44:37 +10:00
Damien Elmes
a390a77815
handle missing parent names with varying case
...
Also convert to \x1f before sorting, so that numbers (with have a lower
ascii order than '::') don't mess up the sort.
2021-01-16 19:42:25 +10:00
Damien Elmes
6f7c68b661
add a (currently failing) test for duplicate parent names
2021-01-16 19:04:25 +10:00
Damien Elmes
9686cd99ec
search error tweaks
...
- use markdown instead of HTML, to make editing and translating easier
- use a shared prefix
- a few very minor wording tweaks
- we don't need to translate undocumented command errors
- share a string for positive number of days
- share a string for invalid property and state arguments, and avoid
listing them out
Related discussion: https://github.com/ankitects/anki/pull/922
2021-01-16 15:59:19 +10:00
RumovZ
5b03d1e2c8
Add resched error tests
2021-01-15 10:57:55 +01:00
RumovZ
cb4a103bb1
Merge branch 'master' into search-errors
...
Add error support for new resched node, update rated error.
2021-01-15 10:50:02 +01:00
RumovZ
c8f0961c6c
Include context in search error test
2021-01-15 09:09:54 +01:00
abdo
e018ea94b6
Merge branch 'master' of https://github.com/ankitects/anki into tagtree
2021-01-15 01:12:01 +03:00
RumovZ
182abfe66d
Encode HTML entities in search errors
2021-01-14 23:02:39 +01:00
RumovZ
2a2ac38a1b
Add search context for certain error kinds
2021-01-14 22:40:07 +01:00
RumovZ
5f05ca2548
Rename ParseErrorKind to SearchErrorKind
2021-01-14 22:00:52 +01:00
RumovZ
6af1852611
Add errorkind test
2021-01-14 19:10:12 +01:00
RumovZ
8f754e1525
Add FailKinds for unopened/unclosed groups
2021-01-14 19:09:31 +01:00
RumovZ
0b73110f82
Make AnkiError::SearchError work with ParseError
...
Use mock ftl strings for now.
2021-01-14 11:14:55 +01:00
RumovZ
4afb476f04
Fix text node parsers, add FailKind alias
2021-01-14 11:10:33 +01:00
abdo
831942c2e2
Fix unicode tag sorting
2021-01-14 07:04:55 +03:00
abdo
ee3c019804
Remove Default impl of Tag
2021-01-14 07:04:55 +03:00
abdo
9c1d7c522a
Refactor code for clearing unused tags and saving collapse state
2021-01-14 07:04:14 +03:00
RumovZ
6d9cfb85ab
Add pb message for dupe filter
2021-01-14 10:42:37 +10:00
RumovZ
d9bb20ac24
Expect backslashes to be escaped in dupe:
text
2021-01-14 10:42:37 +10:00
RumovZ
f4cfccfc0a
Fix writing dupe nodes
...
Rename comments and dupe functions on the backend accordingly to avoid
further confusion.
2021-01-14 10:42:37 +10:00
Damien Elmes
7d81d39be7
Merge pull request #918 from hgiesel/ratedflags
...
Introduce `resched:n` instead of `rated:n:0`
2021-01-14 10:19:10 +10:00
RumovZ
3aa15a7139
Optimise term parsers
2021-01-13 14:15:57 +01:00
RumovZ
447ff6931c
Move parse errors, add helper func for parse fail
2021-01-13 13:23:25 +01:00
Henrik Giesel
9f7170ac0f
Change "between 1 and 4" to "> 0"
2021-01-13 11:44:54 +01:00
Henrik Giesel
c0ec21b139
Rename EaseKind values
2021-01-13 11:41:48 +01:00
Damien Elmes
633034b24d
add local sync server frontend
2021-01-13 11:42:00 +10:00
abdo
72e8f9d640
Merge branch 'master' of https://github.com/ankitects/anki into tagtree
2021-01-12 23:31:58 +03:00
abdo
9a68d84483
Keep tags in human form and update the tags table structure
...
See https://github.com/ankitects/anki/pull/900#issuecomment-758284016
- Leave tag names alone and add the collapsed and config columns to the tags table.
- Update The DB check code to preserve the collapse state of used tags.
- Add a simple test for clearing tags and their children
2021-01-12 23:12:35 +03:00
RumovZ
b89381ac95
Fix top-level search errorkinds
2021-01-12 17:32:26 +01:00
Damien Elmes
fbd91b22f5
tidy up UTC offset handling/timing calculations
...
- use the TimestampSecs newtype instead of raw i64s
- use FixedOffset instead of a minutes_west offset
- check localOffset each time the timing is calculated, and set it
if it's stale - even for v1.
- check for and fix missing rollover when calculating timing
- stop explicitly passing localOffset in the sync/start call
2021-01-12 21:32:56 +10:00
RumovZ
d00c54aacf
Switch parser to custom erros and results
2021-01-12 10:43:12 +01:00
Damien Elmes
553908a856
add .clang-format so VS Code preserves formatting style on .proto save
2021-01-12 18:47:08 +10:00
Damien Elmes
31f941267c
move sync JSON into separate file; add enum wrapper
2021-01-12 18:47:08 +10:00
Damien Elmes
09dfa9ced6
allow normal sync tests to run offline
2021-01-12 18:47:08 +10:00
Damien Elmes
f6c1a91674
use '<=' when merging UnchunkableChanges
...
Prevents current tests from failing when testing locally, due the current
second not changing between syncs.
2021-01-12 18:47:08 +10:00
Henrik Giesel
81d851610e
Coerce resched:days as well
2021-01-11 17:25:42 +01:00
Henrik Giesel
5eb2c7b271
Satisfy rslib unit tests
2021-01-11 17:18:40 +01:00
Henrik Giesel
7a7152fe27
Remove EaseKind impl in favor of transforming to sql in function
2021-01-11 17:10:17 +01:00
Henrik Giesel
cbfe14ef4f
Introduce "resched:n" instead of 0 and a flag for "rated"
2021-01-11 16:40:30 +01:00
Henrik Giesel
7e58660aab
Modify default behavior of rated searches to exclude manual
2021-01-11 16:40:30 +01:00
Damien Elmes
9225c804db
update Rust deps; add async_trait
2021-01-11 19:19:45 +10:00
Damien Elmes
401d5dd9cc
Merge pull request #917 from hgiesel/querynozero3
...
Coerce added/edited:0 to 1, Constrain rated:n to 1-365
2021-01-11 16:24:12 +10:00
Henrik Giesel
0b955c3699
Fix formatting
2021-01-10 16:38:20 +01:00
Henrik Giesel
adf969d37f
Add a few rslib unit tests
2021-01-10 16:29:10 +01:00
Henrik Giesel
8f01887fe7
Remove coercion in write_rated
2021-01-10 16:23:53 +01:00
Henrik Giesel
87bc1e69b0
Coerce added/edited:0 to 1, constrain rated:n to 1 <= 365
2021-01-10 16:16:17 +01:00
Damien Elmes
5f70d718b8
favour readability over brevity in filter conversion
2021-01-10 09:19:33 +10:00
Damien Elmes
4ba4e8ca78
Merge pull request #913 from RumovZ/fix-write-template
...
Fix ordinal case in write_template
2021-01-10 08:58:00 +10:00
Damien Elmes
3f9604457d
Merge pull request #911 from RumovZ/backend-filters
...
Backend filters
2021-01-10 08:56:57 +10:00
Damien Elmes
4d471612ec
fix protobuf formatting adding carriage returns on Windows
2021-01-10 08:48:20 +10:00
RumovZ
0629f80aeb
Format backend.proto
2021-01-09 20:09:47 +01:00
RumovZ
f83553c82a
Merge branch 'master' into backend-filters
...
Adapt new formatting.
2021-01-09 19:03:43 +01:00
RumovZ
ca62f3ef80
Fix ordinal case in write_template
...
Internal card ordinals start at 0, so add 1 again when writing a
template search string from a parsed ordinal.
2021-01-09 17:30:12 +01:00
abdo
0b5bb711a1
Remove unused backend methods & formatting
2021-01-09 17:48:34 +03:00
abdo
5919d9273f
Fix tag collapse state not getting updated
2021-01-09 17:46:52 +03:00
abdo
97b4c2124c
sql formatting
2021-01-09 17:38:16 +03:00
abdo
f7f509c70d
Move tag collapse method to the backend
2021-01-09 17:10:16 +03:00
abdo
1be789f25f
Move sql code for upgrading to schema 17 to a separate file
2021-01-09 17:10:16 +03:00
abdo
c6e3d55400
fill_missing_tags's input should be sorted
...
I assumed that fill_missing_tags will work correctly with un unsorted
tag list previously so I replaced the all_tags_sorted call, but take the following the list for example:
["foo::bar", "foo"]
This will cause "foo" to be counted like a missing tag, since it's
encountered the first time when looking at "foo::bar"", and its config
and other associated data will be lost.
2021-01-09 17:10:16 +03:00
abdo
b33267f754
Do not check for missing tag parents at registration time
2021-01-09 17:10:16 +03:00
abdo
b276ce3dd5
Hierarchical tags
2021-01-09 17:10:13 +03:00
RumovZ
9ef691c06f
Provide filter searches through backend
2021-01-09 10:50:08 +01:00
Damien Elmes
fc948d3e83
add clang-format for backend.proto formatting
2021-01-09 17:08:50 +10:00
Damien Elmes
e0c3949ef9
format backend.proto with standard Google style
2021-01-09 15:50:24 +10:00
Damien Elmes
c3b1266f47
fix some comments in wrong position after format
2021-01-09 14:26:51 +10:00
Damien Elmes
3dad3c90d0
add .sql file formatter
...
Uses the logic from the sqltools VSCode add-on, with a workaround
for the use of 'type' in some table columns.
By detecting the presence of 'BUILD_WORKSPACE_DIRECTORY' we can tell
if the rule is running in test mode or was run directly, avoiding the
need for separate check and fix rules. It might be nice to extend this
to other formatting rules in the future as well.
2021-01-09 14:22:49 +10:00
Damien Elmes
56e4e2d518
reformat .sql files
2021-01-09 14:08:55 +10:00
Henrik Giesel
82a4e0abe8
Don't import now unused INITIAL_EASE_FACTOR_THOUSANDS
2021-01-08 19:32:36 +01:00
Henrik Giesel
caa536a753
Reset ease to 0 for after rescheduling cards as new
2021-01-08 18:15:24 +01:00
Damien Elmes
fe4da25e15
fix reposition not honoring provided order, and add unit test
2021-01-08 20:38:49 +10:00
Damien Elmes
97e3bfe1c0
Merge pull request #904 from hgiesel/propdue
...
Streamlining `is:due`, `prop:due`, and the FutureDue graph
2021-01-08 16:34:53 +10:00
Damien Elmes
10630ab723
handle SortOrderProto conversion separately, and use enum getter
...
In most cases we can just fall back on the default enum value instead
of caring if it's missing/invalid.
2021-01-08 15:56:20 +10:00
Damien Elmes
cbeb714062
convert sort_kind_from_pb into from impl
2021-01-08 09:42:54 +10:00
Damien Elmes
1a5b5f09cc
convert from protobuf enum, rather than the underlying i32
2021-01-08 09:24:03 +10:00
Henrik Giesel
4c570785bb
Add comment about integer division
2021-01-07 20:10:25 +01:00
Henrik Giesel
04a56209c6
Restate rslib unit test
2021-01-07 19:56:36 +01:00
Henrik Giesel
155a59b80b
Search for Learn and PreviewRepeat cards when using prop:due
2021-01-07 19:01:10 +01:00
Henrik Giesel
795dcab370
Include PreviewRepeat cards in is:due
2021-01-07 17:24:10 +01:00
RumovZ
76c16180ae
Add native enum for concatenate_search's separator
2021-01-07 12:50:57 +01:00
RumovZ
ebe535e42f
Add Position in PropertyKind match of writer.rs
2021-01-06 23:29:09 +01:00
RumovZ
6ee9e4f58c
Merge branch 'master' of https://github.com/ankitects/anki into norm-search
2021-01-06 20:57:24 +01:00
RumovZ
d9f7d2e70d
Add tests for writer.rs
...
Also minor adjustments to concatenate_searches.
2021-01-06 19:39:34 +01:00
RumovZ
07499dd890
Implement search replacing via Ctrl+Shift combo
...
Also switch to using the new backend functions for concatenating and
negating searches.
2021-01-06 18:32:29 +01:00
RumovZ
84061a6e6d
Implement replace_search_term
2021-01-06 14:03:43 +01:00
RumovZ
79d0b5496b
Implement concatenate_searches
...
Fix minor stuff in writer.rs.
2021-01-06 14:00:47 +01:00
RumovZ
713db05f27
Implement negate_search
2021-01-06 13:57:35 +01:00
Damien Elmes
e28c67d4f6
Merge pull request #895 from hgiesel/newlearn
...
Change meaning of "is:learn" to filter on type, not queue
2021-01-06 19:13:59 +10:00
Henrik Giesel
59cb901a3b
Change meaning of "is:learn" to filter on type, not queue
2021-01-05 17:36:55 +01:00
Damien Elmes
dad4c76089
no need to log card resets when exporting
2021-01-05 11:11:37 +10:00
abdo
dc51dc6795
Rename prop:order to prop:pos
2021-01-02 13:35:10 +03:00
abdo
0ad4619833
Support prop:order to search for new cards by order
2021-01-01 04:36:51 +03:00
Damien Elmes
6199548ba9
Merge pull request #879 from Arthur-Milchior/Tex_keep_alt
...
Add Alt text to latex image
2020-12-31 12:02:40 +10:00
Damien Elmes
a0b4948760
fix clippy error in unit test
2020-12-31 09:48:05 +10:00
Arthur Milchior
d933d7774f
Add Alt text to latex image
...
I'm trying to go over accessibilities issues in AnkiDroid. Since we'll use rust backend, I thought I might as well go
over it in rust directly. The only side effect in anki is that, if you copy a text with the image, you'll get the LaTeX
copied instead of nothing. Alas, it seems qt does not show alt text.
2020-12-30 18:00:06 +01:00
Damien Elmes
3f3f4b5c36
add aarch64 Linux to cargo; update deps
2020-12-30 13:33:16 +10:00
RumovZ
95b4e4cc84
Make function names more explicit and add docs
2020-12-29 11:18:49 +01:00
RumovZ
62753290d8
Make normalized search syntax more explicit
...
Also fix a bug with NoCombining and WordBoundary searches.
2020-12-29 11:06:53 +01:00
Arthur Milchior
008a87a794
NF: test # / and ^ can remains at end of string
2020-12-28 07:58:15 +01:00
Damien Elmes
14c0066a53
simplify NoteField init in test; add other bad chars
2020-12-28 13:19:37 +10:00
Damien Elmes
1d15a207bb
fix comment and add basic unit test
2020-12-28 13:14:49 +10:00
Damien Elmes
b8a96d81f8
Merge pull request #870 from Arthur-Milchior/trim_start_field_name
...
Trim the start of field name if it is #, /, ^ or a whitespace
2020-12-28 13:06:57 +10:00
Arthur Milchior
01caa3d996
Trim the start of field name if it is #, /, ^ or a whitespace
...
I actually need to trim whitespace again to deal with a field name of the form "# foo"
2020-12-28 03:32:05 +01:00
Damien Elmes
40c5f8a907
update prost to new 0.7 release+auto stage changes
...
Allows us to drop slow git repo.
2020-12-28 10:12:35 +10:00
RumovZ
ecd04f8a59
Don't escape isolated -
2020-12-22 11:52:17 +01:00
RumovZ
873e96b60a
Fix format and tests
2020-12-22 11:32:53 +01:00
RumovZ
5b24d9e4a6
Expose search writer
2020-12-22 11:06:55 +01:00
RumovZ
fcc87d16ea
Add search writer
2020-12-22 11:04:38 +01:00
Damien Elmes
b48451610f
fix sync indicator turning blue after startup sync
...
https://forums.ankiweb.net/t/why-is-my-sync-button-blue/2078/26?u=dae
2020-12-22 10:46:50 +10:00
Damien Elmes
ebeae9a5a0
don't pass BUILDINFO into build script
...
It was causing the build script to be recompiled each time a commit was
made, even though buildinfo.txt was not changing.
2020-12-21 16:04:29 +10:00
Damien Elmes
06399446e3
add some code editing/completion docs
2020-12-16 14:16:08 +10:00
Damien Elmes
dee0a2fc18
fix reposition not being applied in browser sort order
...
https://forums.ankiweb.net/t/reposition-function-not-working/5817
Also changed id->cid in the non-sorting case, as otherwise when
using all_searched_cards() on a sorted list, the results will be wrong.
2020-12-16 10:58:46 +10:00
Damien Elmes
75cbbea048
Merge pull request #848 from cecini/rslibdep
...
Update Rust deps, and nom to v6
2020-12-15 20:04:02 +10:00
cecini
d37ea0f5f7
Update rslib dep nom
2020-12-15 08:19:52 +00:00
abdo
197d665de8
Fix duplicate check not decoding entities
...
This is a regression introduced in 358d0f957e
See https://forums.ankiweb.net/t/bug-duplicates-not-detecting-on-paste/5753
2020-12-14 15:13:00 +03:00
Damien Elmes
77c9db5bba
plural rules and decimal separator should use bundle's language
...
Instead of providing the list of languages in preferred order, when
creating a bundle we need to specify the bundle language as the first
language, so that the correct plural rules are used. Fluent's docs
are misleading here; I will submit a PR to fix them.
The old behaviour caused:
https://forums.ankiweb.net/t/bug-in-review-intervals-for-some-languages-in-number-of-cards/5744
2020-12-14 14:23:49 +10:00
Damien Elmes
1da327c725
minor doc updates
2020-12-11 22:37:12 +10:00
Damien Elmes
a9ea8e11a2
fix filtered decks not honoring sort order
...
https://forums.ankiweb.net/t/2-1-36-filtered-decks-bug/5649/
2020-12-09 22:50:49 +10:00
Damien Elmes
93c1289e69
bump rust deps
2020-12-09 15:34:43 +10:00
Damien Elmes
7ddc8ecd01
update rules_rust for separate compile_data arg
2020-12-01 16:48:45 +10:00
Damien Elmes
4c3577b12e
update Rust deps incl. Pyo3
...
This includes the refcount bug fix from pyo3 0.12.4
2020-12-01 16:48:45 +10:00
Damien Elmes
1cb3984049
deck renaming tweaks
...
- normalize name prior to creating parents
- always mark modified
https://github.com/ankitects/anki/pull/831#issuecomment-730064858
2020-11-30 10:09:23 +10:00
Damien Elmes
009906d0c2
fix duplicate search not checking first field
...
Thanks to abdo for the initial solution. Closes #838
2020-11-30 09:27:10 +10:00
RumovZ
540d52c471
Comment fix
2020-11-27 22:12:36 +01:00
RumovZ
0c9ad7e952
Revert implementation of r:
prefix
2020-11-27 22:10:37 +01:00
Damien Elmes
780f32b8ae
fix new Clippy lints
2020-11-25 09:12:19 +10:00
Damien Elmes
3923f56cbf
fix clippy lints
2020-11-24 20:13:05 +10:00
Damien Elmes
b55fd93cab
manual tag on rslib was preventing clippy lints
2020-11-24 20:10:16 +10:00
Damien Elmes
d7cded4ae1
fix compilation of rslib outside Bazel
...
fixes code completion
2020-11-24 18:51:19 +10:00
Damien Elmes
c9b3ed1eae
switch to workspace for Rust code
2020-11-24 18:41:03 +10:00
RumovZ
347c547e10
Add tests for conversion functions in text.rs
2020-11-20 09:45:53 +01:00
RumovZ
0fc84d19b2
Replace text.rs/text_to_re with text.rs/to_re
2020-11-20 09:23:25 +01:00
Damien Elmes
e23d40e850
Merge pull request #823 from RumovZ/rework-search-parser
...
Rework search parser
2020-11-20 16:22:12 +10:00
Damien Elmes
7c57e5044b
mark created deck parents as modified
...
Thanks to cecini for the original report. Closes #831 :
https://github.com/ankitects/anki/pull/831
2020-11-19 08:48:43 +10:00
RumovZ
785540bddc
Revert changes to normalisation handling
...
Handle norm calls individually in write_search_node_to_sql again.
2020-11-18 23:46:27 +01:00
RumovZ
6e51bad7db
Implement the prefix r:
to search for raw input
2020-11-18 22:26:51 +01:00
RumovZ
c185fb966b
Merge branch 'master' into rework-search-parser
...
Conflicts:
rslib/src/search/sqlwriter.rs
2020-11-18 09:04:04 +01:00
Damien Elmes
fcb3283a9d
move ftl into top level ftl/ folder; make it source of truth for aqt
...
This avoids the need to modify the external repo before new strings
can be used in aqt.
2020-11-18 16:20:58 +10:00
Damien Elmes
c1e6149a1b
fix browser updateTitle()
2020-11-18 13:40:21 +10:00
Damien Elmes
ffa26fe4bc
fix remaining _() references; remove unused imports
2020-11-18 12:43:46 +10:00
RumovZ
b09a398d2d
Make - escapable
...
Treat unescaped - as before but make it escapable with \ to distinguish
the literal from the negator.
2020-11-17 18:38:27 +01:00
RumovZ
91873d68eb
Fix RE in to_custom_re of text.rs
...
Match every single (potentially escaped) character of the string, so
they can be escaped properly.
2020-11-17 15:39:54 +01:00
Damien Elmes
e527d31dfc
begin plural string migration
2020-11-17 23:29:08 +10:00
RumovZ
8c02c6e205
Split unescaping between parser and writer
...
* Unescape wildcards in writer instead of parser.
* Move text conversion functions to text.rs.
* Implicitly norm when converting text.
* Revert to using collection when comparing tags but add escape support.
2020-11-17 12:49:37 +01:00
Damien Elmes
9d1b6231d7
merge pylib references
2020-11-17 19:23:06 +10:00
Damien Elmes
6418993840
merge bulk of qt/ - designer files still to do
2020-11-17 17:42:43 +10:00
abdo
358d0f957e
Make dupe search operate on non-stripped text
...
See https://github.com/ankitects/anki/pull/822/
2020-11-16 04:01:04 +03:00
RumovZ
7c5cf6d18b
Use enforced re to parse deck
...
Fix write_deck not recognising escaped deck name separators:
\:\: -> ::
2020-11-15 21:32:36 +01:00
RumovZ
a6628709c5
Annotate RegEx for invalid-escape check
2020-11-15 14:22:16 +01:00
RumovZ
a16d271eb0
Extend tests for new search parsing
...
(Also fix indentation)
2020-11-15 12:00:20 +01:00
RumovZ
ae01a5b3a2
Fix escape check for escaped backslash
2020-11-15 11:57:11 +01:00
RumovZ
63cc877023
Move whitespace check for tags from to sqlwriter
...
Instead of not parsing a tag containing whitespace, check for spaces
when writing sql and if there are any, explicitly match nothing.
2020-11-15 11:54:21 +01:00
RumovZ
57787368a1
Always use regex for tag search
...
Don't distinguish between the glob and no-glob cases when comparing
tags but always use regexp. Thus, avoid problems with SQL wildcards in
registered tags.
2020-11-15 09:52:00 +01:00
Damien Elmes
4bf93a9af0
add native-tls in preparation for Linux-only ring
2020-11-15 14:02:53 +10:00
RumovZ
9e53481003
Fix tests for new search parsing (and reformat)
2020-11-14 19:13:09 +01:00
RumovZ
836977aac8
Fix whitespace in write_tag and parser/whitespac0
2020-11-14 19:10:56 +01:00
RumovZ
3949996728
For deck searches, unescape quotes only
...
For now, revert to the old handling of deck names using text_to_re from
text.rs and have parser.rs only unescape quotes.
2020-11-14 19:06:37 +01:00
RumovZ
b186e61e54
Fix 'escaped' parser for empty string
...
Fix a bug where 'escaped' parsers (nom) accepted the empty
string by wrapping them in 'verify' parsers.
2020-11-14 18:28:24 +01:00
RumovZ
0cff65e5a8
Fix bugs and inconsistencies in the search parser
2020-11-12 17:27:50 +01:00
Damien Elmes
5bb3d7c114
format_fix -> format; rename svelte-check for consistency
2020-11-12 20:19:32 +10:00
Damien Elmes
0489c92908
drop El Capitan support
2020-11-12 20:03:41 +10:00
Damien Elmes
c4f28a0a17
prep for i18n updates
...
Update scripts will be split into separate repo
2020-11-11 16:18:28 +10:00
Damien Elmes
e99c0dbe15
Merge pull request #793 from nwwt/object-audio-tags-support
...
Audio & object tag support
2020-11-11 10:33:31 +10:00
Andreas Reis
e68a40f13e
cleanup / renames
...
・ soundRegexps → sound_regexps
・ htmlRegexps → html_media_regexps
・ HTML_TAGS → HTML_MEDIA_TAGS
・ escapeImages → escape_media_filenames + alias
・ strip_html_preserving_image_filenames → strip_html_preserving_media_filenames
2020-11-10 14:53:04 +01:00
Damien Elmes
96f77b4b5e
Merge pull request #805 from cecini/duecounts
...
align rslib get_subnode impl with anki pythonapi find_deck_in_tree
2020-11-06 10:57:49 +10:00