SYMBOL INDEX (9270 symbols across 755 files) FILE: build/configure/src/aqt.rs function build_and_check_aqt (line 26) | pub fn build_and_check_aqt(build: &mut Build) -> Result<()> { function build_forms (line 35) | fn build_forms(build: &mut Build) -> Result<()> { function build_generated_sources (line 65) | fn build_generated_sources(build: &mut Build) -> Result<()> { function build_data_folder (line 109) | fn build_data_folder(build: &mut Build) -> Result<()> { function copy_sveltekit (line 119) | fn copy_sveltekit(build: &mut Build) -> Result<()> { function build_css (line 131) | fn build_css(build: &mut Build) -> Result<()> { function build_imgs (line 162) | fn build_imgs(build: &mut Build) -> Result<()> { function build_js (line 172) | fn build_js(build: &mut Build) -> Result<()> { function build_vendor_js (line 207) | fn build_vendor_js(build: &mut Build) -> Result<()> { function build_pages (line 223) | fn build_pages(build: &mut Build) -> Result<()> { function build_icons (line 234) | fn build_icons(build: &mut Build) -> Result<()> { function build_themed_icons (line 271) | fn build_themed_icons(build: &mut Build) -> Result<()> { type BuildThemedIcon (line 299) | struct BuildThemedIcon<'a> { method command (line 305) | fn command(&self) -> &str { method files (line 309) | fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { function build_wheel (line 338) | fn build_wheel(build: &mut Build) -> Result<()> { function check_python (line 355) | fn check_python(build: &mut Build) -> Result<()> { FILE: build/configure/src/launcher.rs function setup_uv_universal (line 13) | pub fn setup_uv_universal(build: &mut Build) -> Result<()> { function build_launcher (line 34) | pub fn build_launcher(build: &mut Build) -> Result<()> { constant NSIS_PLUGINS (line 41) | const NSIS_PLUGINS: OnlineArchive = OnlineArchive { FILE: build/configure/src/main.rs function anki_version (line 36) | fn anki_version() -> String { function main (line 43) | fn main() -> Result<()> { FILE: build/configure/src/platform.rs function overriden_rust_target_triple (line 9) | pub fn overriden_rust_target_triple() -> Option<&'static str> { function overriden_python_venv_platform (line 15) | pub fn overriden_python_venv_platform() -> Option { function overriden_python_wheel_platform (line 26) | pub fn overriden_python_wheel_platform() -> Option { FILE: build/configure/src/pylib.rs function build_pylib (line 21) | pub fn build_pylib(build: &mut Build) -> Result<()> { function check_pylib (line 79) | pub fn check_pylib(build: &mut Build) -> Result<()> { type GenBuildInfo (line 92) | pub struct GenBuildInfo {} method command (line 95) | fn command(&self) -> &str { method files (line 99) | fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { FILE: build/configure/src/python.rs function normalize_version (line 20) | fn normalize_version(version: &str) -> String { function setup_venv (line 57) | pub fn setup_venv(build: &mut Build) -> Result<()> { type GenPythonProto (line 77) | pub struct GenPythonProto { method command (line 82) | fn command(&self) -> &str { method files (line 90) | fn files(&mut self, build: &mut impl FilesHandle) { method hide_progress (line 108) | fn hide_progress(&self) -> bool { type BuildWheel (line 113) | pub struct BuildWheel { method command (line 121) | fn command(&self) -> &str { method files (line 125) | fn files(&mut self, build: &mut impl FilesHandle) { function check_python (line 175) | pub fn check_python(build: &mut Build) -> Result<()> { type Sphinx (line 224) | struct Sphinx { method command (line 229) | fn command(&self) -> &str { method files (line 237) | fn files(&mut self, build: &mut impl FilesHandle) { method hide_success (line 253) | fn hide_success(&self) -> bool { function setup_sphinx (line 258) | pub(crate) fn setup_sphinx(build: &mut Build) -> Result<()> { function test_normalize_version_basic (line 285) | fn test_normalize_version_basic() { function test_normalize_version_with_prerelease (line 292) | fn test_normalize_version_with_prerelease() { FILE: build/configure/src/rust.rs function build_rust (line 24) | pub fn build_rust(build: &mut Build) -> Result<()> { function prepare_translations (line 30) | fn prepare_translations(build: &mut Build) -> Result<()> { type FtlCommand (line 99) | struct FtlCommand { method command (line 105) | fn command(&self) -> &str { method files (line 109) | fn files(&mut self, build: &mut impl FilesHandle) { function build_proto_descriptors_and_interfaces (line 117) | fn build_proto_descriptors_and_interfaces(build: &mut Build) -> Result<(... function build_rsbridge (line 136) | fn build_rsbridge(build: &mut Build) -> Result<()> { function check_rust (line 170) | pub fn check_rust(build: &mut Build) -> Result<()> { function check_minilints (line 211) | pub fn check_minilints(build: &mut Build) -> Result<()> { FILE: build/configure/src/web.rs function build_and_check_web (line 25) | pub fn build_and_check_web(build: &mut Build) -> Result<()> { function build_sveltekit (line 40) | fn build_sveltekit(build: &mut Build) -> Result<()> { function setup_node (line 54) | fn setup_node(build: &mut Build) -> Result<()> { function build_and_check_tslib (line 131) | fn build_and_check_tslib(build: &mut Build) -> Result<()> { function declare_and_check_other_libraries (line 165) | fn declare_and_check_other_libraries(build: &mut Build) -> Result<()> { function build_and_check_pages (line 182) | fn build_and_check_pages(build: &mut Build) -> Result<()> { function build_and_check_editor (line 235) | fn build_and_check_editor(build: &mut Build) -> Result<()> { function build_and_check_reviewer (line 262) | fn build_and_check_reviewer(build: &mut Build) -> Result<()> { function check_web (line 310) | fn check_web(build: &mut Build) -> Result<()> { function check_sql (line 391) | pub fn check_sql(build: &mut Build) -> Result<()> { function build_and_check_mathjax (line 409) | fn build_and_check_mathjax(build: &mut Build) -> Result<()> { constant MATHJAX_FILES (line 423) | pub const MATHJAX_FILES: &[&str] = &[ function copy_mathjax (line 461) | pub fn copy_mathjax() -> impl BuildAction { function build_sass (line 470) | fn build_sass(build: &mut Build) -> Result<()> { FILE: build/ninja_gen/src/action.rs type BuildAction (line 9) | pub trait BuildAction { method command (line 11) | fn command(&self) -> &str; method files (line 14) | fn files(&mut self, build: &mut impl FilesHandle); method check_output_timestamps (line 19) | fn check_output_timestamps(&self) -> bool { method generator (line 24) | fn generator(&self) -> bool { method on_first_instance (line 31) | fn on_first_instance(&self, build: &mut Build) -> Result<()> { method concurrency_pool (line 35) | fn concurrency_pool(&self) -> Option<&'static str> { method bypass_runner (line 39) | fn bypass_runner(&self) -> bool { method hide_success (line 43) | fn hide_success(&self) -> bool { method hide_progress (line 47) | fn hide_progress(&self) -> bool { method name (line 51) | fn name(&self) -> &'static str { method command (line 67) | fn command(&self) -> &str { method files (line 70) | fn files(&mut self, _build: &mut impl FilesHandle) {} type TestBuildAction (line 63) | trait TestBuildAction {} function should_strip_regions_in_type_name (line 75) | fn should_strip_regions_in_type_name() { FILE: build/ninja_gen/src/archives.rs type OnlineArchive (line 17) | pub struct OnlineArchive { type Platform (line 23) | pub enum Platform { method current (line 33) | pub fn current() -> Self { method tls_feature (line 47) | pub fn tls_feature() -> &'static str { method as_rust_triple (line 57) | pub fn as_rust_triple(&self) -> &'static str { function with_exe (line 70) | pub fn with_exe(path: &str) -> Cow<'_, str> { type DownloadArchive (line 78) | struct DownloadArchive { method command (line 83) | fn command(&self) -> &str { method files (line 87) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { method check_output_timestamps (line 96) | fn check_output_timestamps(&self) -> bool { type ExtractArchive (line 101) | struct ExtractArchive<'a, I> { function extraction_folder (line 116) | fn extraction_folder(&self) -> Utf8PathBuf { method command (line 128) | fn command(&self) -> &str { method files (line 132) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { method name (line 149) | fn name(&self) -> &'static str { method check_output_timestamps (line 153) | fn check_output_timestamps(&self) -> bool { function download_and_extract (line 159) | pub fn download_and_extract( function empty_manifest (line 184) | pub fn empty_manifest() -> HashMap<&'static str, &'static [&'static str]> { FILE: build/ninja_gen/src/bin/update_node.rs type NodeRelease (line 13) | struct NodeRelease { type NodeFile (line 19) | struct NodeFile { function main (line 24) | fn main() -> Result<(), Box> { function fetch_node_release_info (line 32) | fn fetch_node_release_info() -> Result> { function generate_node_archive_function (line 125) | fn generate_node_archive_function(release: &NodeRelease) -> Result Result<(), Box> { function read_node_rs (line 205) | fn read_node_rs() -> Result> { function write_node_rs (line 213) | fn write_node_rs(content: &str) -> Result<(), Box> { function test_regex_replacement (line 227) | fn test_regex_replacement() { FILE: build/ninja_gen/src/bin/update_protoc.rs function fetch_protoc_release_info (line 14) | fn fetch_protoc_release_info() -> Result> { function read_protobuf_rs (line 89) | fn read_protobuf_rs() -> Result> { function update_protoc_text (line 97) | fn update_protoc_text(old_text: &str, new_protoc_text: &str) -> Result Result<(), Box> { function main (line 118) | fn main() -> Result<(), Box> { FILE: build/ninja_gen/src/bin/update_uv.rs function fetch_uv_release_info (line 12) | fn fetch_uv_release_info() -> Result> { function read_python_rs (line 84) | fn read_python_rs() -> Result> { function update_uv_text (line 92) | fn update_uv_text(old_text: &str, new_uv_text: &str) -> Result Result<(), Box> { function main (line 111) | fn main() -> Result<(), Box> { function test_update_uv_text_with_actual_file (line 125) | fn test_update_uv_text_with_actual_file() { FILE: build/ninja_gen/src/build.rs type Build (line 19) | pub struct Build { method new (line 34) | pub fn new() -> Result { method variable (line 60) | pub fn variable(&mut self, name: &'static str, value: impl Into, action: impl Buil... method add_resolved_files_to_group (line 143) | fn add_resolved_files_to_group<'a>( method add_dependency (line 156) | pub fn add_dependency(&mut self, group: &str, deps: BuildInput) { method group_outputs (line 166) | pub fn group_outputs(&self, group_name: &'static str) -> &[String] { method group_output (line 174) | pub fn group_output(&self, group_name: &'static str) -> String { method expand_inputs (line 180) | pub fn expand_inputs(&self, inputs: impl AsRef) -> Vec(&self, inputs: impl AsRef, func: F... method inputs_with_suffix (line 195) | pub fn inputs_with_suffix(&self, inputs: impl AsRef, ext: ... function split_groups (line 200) | fn split_groups(group: &str) -> Vec<&str> { type BuildStatement (line 210) | struct BuildStatement<'a> { function from_build_action (line 233) | fn from_build_action<'a>( function render_into (line 289) | fn render_into(mut self, buf: &mut String) -> (Vec, Vec<(String,... function prepare_command (line 314) | fn prepare_command(&mut self, command: String) -> Result { function expand_inputs (line 340) | fn expand_inputs( type BuildProfile (line 350) | pub enum BuildProfile { method from_env (line 357) | fn from_env() -> Self { type FilesHandle (line 366) | pub trait FilesHandle { method add_inputs (line 373) | fn add_inputs(&mut self, variable: &'static str, inputs: impl AsRef, value: impl Into String; method expand_inputs (line 381) | fn expand_inputs(&self, inputs: impl AsRef) -> Vec; method add_outputs (line 384) | fn add_outputs( method add_outputs_ext (line 403) | fn add_outputs_ext( method add_output_stamp (line 413) | fn add_output_stamp(&mut self, path: impl Into); method add_env_var (line 418) | fn add_env_var(&mut self, key: &str, constant_value: &str); method set_working_dir (line 423) | fn set_working_dir(&mut self, constant_value: &str); method create_dir_all (line 427) | fn create_dir_all(&mut self, key: &str, path: impl Into); method build_profile (line 429) | fn build_profile(&self) -> BuildProfile; method add_inputs (line 433) | fn add_inputs(&mut self, variable: &'static str, inputs: impl AsRef, value: impl Into String { method add_outputs_ext (line 470) | fn add_outputs_ext( method expand_inputs (line 508) | fn expand_inputs(&self, inputs: impl AsRef) -> Vec { method build_profile (line 512) | fn build_profile(&self) -> BuildProfile { method add_output_stamp (line 516) | fn add_output_stamp(&mut self, path: impl Into) { method add_env_var (line 521) | fn add_env_var(&mut self, key: &str, constant_value: &str) { method set_working_dir (line 525) | fn set_working_dir(&mut self, constant_value: &str) { method create_dir_all (line 529) | fn create_dir_all(&mut self, key: &str, path: impl Into) { function to_ninja_target_string (line 536) | fn to_ninja_target_string( function test_split_groups (line 558) | fn test_split_groups() { FILE: build/ninja_gen/src/cargo.rs type RustOutput (line 17) | pub enum RustOutput<'a> { function name (line 26) | pub fn name(&self) -> &str { function path (line 35) | pub fn path( function profile_output_dir (line 70) | fn profile_output_dir(profile: BuildProfile) -> &'static str { type CargoBuild (line 79) | pub struct CargoBuild<'a> { method command (line 88) | fn command(&self) -> &str { method files (line 92) | fn files(&mut self, build: &mut impl FilesHandle) { method check_output_timestamps (line 120) | fn check_output_timestamps(&self) -> bool { method on_first_instance (line 124) | fn on_first_instance(&self, build: &mut Build) -> Result<()> { function profile_arg_for_cargo (line 129) | fn profile_arg_for_cargo(profile: BuildProfile) -> Option<&'static str> { function setup_flags (line 137) | fn setup_flags(build: &mut Build) -> Result<()> { type CargoTest (line 144) | pub struct CargoTest { method command (line 149) | fn command(&self) -> &str { method files (line 153) | fn files(&mut self, build: &mut impl FilesHandle) { method on_first_instance (line 160) | fn on_first_instance(&self, build: &mut Build) -> Result<()> { type CargoClippy (line 172) | pub struct CargoClippy { method command (line 177) | fn command(&self) -> &str { method files (line 181) | fn files(&mut self, build: &mut impl FilesHandle) { method on_first_instance (line 189) | fn on_first_instance(&self, build: &mut Build) -> Result<()> { type CargoFormat (line 194) | pub struct CargoFormat { method command (line 201) | fn command(&self) -> &str { method files (line 205) | fn files(&mut self, build: &mut impl FilesHandle) { method on_first_instance (line 218) | fn on_first_instance(&self, build: &mut Build) -> Result<()> { type CargoInstall (line 225) | pub struct CargoInstall { method command (line 232) | fn command(&self) -> &str { method files (line 236) | fn files(&mut self, build: &mut impl FilesHandle) { method check_output_timestamps (line 241) | fn check_output_timestamps(&self) -> bool { type CargoRun (line 246) | pub struct CargoRun { method command (line 254) | fn command(&self) -> &str { method files (line 258) | fn files(&mut self, build: &mut impl FilesHandle) { FILE: build/ninja_gen/src/command.rs type RunCommand (line 11) | pub struct RunCommand<'a> { method command (line 21) | fn command(&self) -> &str { method files (line 25) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { FILE: build/ninja_gen/src/configure.rs type ConfigureBuild (line 15) | pub struct ConfigureBuild {} method command (line 18) | fn command(&self) -> &str { method files (line 22) | fn files(&mut self, build: &mut impl FilesHandle) { method on_first_instance (line 29) | fn on_first_instance(&self, build: &mut Build) -> Result<()> { method generator (line 43) | fn generator(&self) -> bool { method check_output_timestamps (line 47) | fn check_output_timestamps(&self) -> bool { FILE: build/ninja_gen/src/copy.rs type CopyFiles (line 12) | pub struct CopyFiles<'a> { method command (line 20) | fn command(&self) -> &str { method files (line 25) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { type CopyFile (line 40) | pub struct CopyFile<'a> { method command (line 46) | fn command(&self) -> &str { method files (line 50) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { type LinkFile (line 59) | pub struct LinkFile<'a> { method command (line 65) | fn command(&self) -> &str { method files (line 73) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { method check_output_timestamps (line 78) | fn check_output_timestamps(&self) -> bool { FILE: build/ninja_gen/src/git.rs type SyncSubmodule (line 11) | pub struct SyncSubmodule { method command (line 17) | fn command(&self) -> &str { method files (line 25) | fn files(&mut self, build: &mut impl build::FilesHandle) { method on_first_instance (line 38) | fn on_first_instance(&self, build: &mut Build) -> Result<()> { method concurrency_pool (line 43) | fn concurrency_pool(&self) -> Option<&'static str> { function locate_git_head (line 51) | fn locate_git_head() -> Option { FILE: build/ninja_gen/src/hash.rs function simple_hash (line 8) | pub fn simple_hash(hashable: impl Hash) -> u64 { FILE: build/ninja_gen/src/input.rs type BuildInput (line 11) | pub enum BuildInput { method as_ref (line 21) | fn as_ref(&self) -> &BuildInput { method from (line 27) | fn from(v: String) -> Self { method from (line 33) | fn from(v: &str) -> Self { method from (line 39) | fn from(v: Vec) -> Self { method from (line 45) | fn from(v: Glob) -> Self { method from (line 51) | fn from(v: &BuildInput) -> Self { method from (line 57) | fn from(v: &[BuildInput]) -> Self { method from (line 63) | fn from(v: Vec) -> Self { method from (line 69) | fn from(v: Utf8PathBuf) -> Self { method add_to_vec (line 75) | pub fn add_to_vec( type Glob (line 117) | pub struct Glob { method resolve (line 148) | pub fn resolve(&self) -> impl Iterator { function cache_files (line 126) | fn cache_files() -> Vec { function space_separated (line 176) | pub fn space_separated(iter: I) -> String FILE: build/ninja_gen/src/node.rs function node_archive (line 19) | pub fn node_archive(platform: Platform) -> OnlineArchive { type YarnSetup (line 48) | pub struct YarnSetup {} method command (line 51) | fn command(&self) -> &str { method files (line 59) | fn files(&mut self, build: &mut impl build::FilesHandle) { method check_output_timestamps (line 72) | fn check_output_timestamps(&self) -> bool { type YarnInstall (line 76) | pub struct YarnInstall<'a> { method command (line 82) | fn command(&self) -> &str { method files (line 86) | fn files(&mut self, build: &mut impl build::FilesHandle) { method check_output_timestamps (line 96) | fn check_output_timestamps(&self) -> bool { function with_cmd_ext (line 101) | fn with_cmd_ext(bin: &str) -> Cow<'_, str> { function setup_node (line 109) | pub fn setup_node( type EsbuildScript (line 167) | pub struct EsbuildScript<'a> { method command (line 178) | fn command(&self) -> &str { method files (line 182) | fn files(&mut self, build: &mut impl build::FilesHandle) { type DPrint (line 195) | pub struct DPrint { method command (line 201) | fn command(&self) -> &str { method files (line 205) | fn files(&mut self, build: &mut impl build::FilesHandle) { type Prettier (line 214) | pub struct Prettier { method command (line 220) | fn command(&self) -> &str { method files (line 224) | fn files(&mut self, build: &mut impl build::FilesHandle) { type SvelteCheck (line 239) | pub struct SvelteCheck { method command (line 245) | fn command(&self) -> &str { method files (line 249) | fn files(&mut self, build: &mut impl build::FilesHandle) { method hide_progress (line 259) | fn hide_progress(&self) -> bool { type TypescriptCheck (line 264) | pub struct TypescriptCheck { method command (line 270) | fn command(&self) -> &str { method files (line 274) | fn files(&mut self, build: &mut impl build::FilesHandle) { type Eslint (line 284) | pub struct Eslint<'a> { method command (line 292) | fn command(&self) -> &str { method files (line 296) | fn files(&mut self, build: &mut impl build::FilesHandle) { type ViteTest (line 309) | pub struct ViteTest { method command (line 314) | fn command(&self) -> &str { method files (line 318) | fn files(&mut self, build: &mut impl build::FilesHandle) { type SqlFormat (line 326) | pub struct SqlFormat { method command (line 332) | fn command(&self) -> &str { method files (line 336) | fn files(&mut self, build: &mut impl build::FilesHandle) { type GenTypescriptProto (line 346) | pub struct GenTypescriptProto<'a> { method command (line 358) | fn command(&self) -> &str { method files (line 364) | fn files(&mut self, build: &mut impl build::FilesHandle) { type CompileSass (line 397) | pub struct CompileSass<'a> { method command (line 405) | fn command(&self) -> &str { method files (line 409) | fn files(&mut self, build: &mut impl build::FilesHandle) { type CompileTypescript (line 425) | pub struct CompileTypescript<'a> { method command (line 434) | fn command(&self) -> &str { method files (line 438) | fn files(&mut self, build: &mut impl build::FilesHandle) { type SveltekitBuild (line 463) | pub struct SveltekitBuild { method command (line 469) | fn command(&self) -> &str { method files (line 477) | fn files(&mut self, build: &mut impl build::FilesHandle) { FILE: build/ninja_gen/src/protobuf.rs function protoc_archive (line 20) | pub fn protoc_archive(platform: Platform) -> OnlineArchive { function clang_format_archive (line 49) | fn clang_format_archive(platform: Platform) -> OnlineArchive { type ClangFormat (line 78) | pub struct ClangFormat { method command (line 84) | fn command(&self) -> &str { method files (line 87) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { method on_first_instance (line 99) | fn on_first_instance(&self, build: &mut crate::Build) -> anyhow::Result<... function setup_protoc (line 112) | pub fn setup_protoc(build: &mut Build) -> Result<()> { function check_proto (line 137) | pub fn check_proto(build: &mut Build, inputs: BuildInput) -> Result<()> { FILE: build/ninja_gen/src/python.rs function uv_archive (line 26) | pub fn uv_archive(platform: Platform) -> OnlineArchive { function setup_uv (line 67) | pub fn setup_uv(build: &mut Build, platform: Platform) -> Result<()> { type PythonEnvironment (line 116) | pub struct PythonEnvironment { method command (line 125) | fn command(&self) -> &str { method files (line 133) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { method check_output_timestamps (line 169) | fn check_output_timestamps(&self) -> bool { type PythonTypecheck (line 174) | pub struct PythonTypecheck { method command (line 180) | fn command(&self) -> &str { method files (line 184) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { method hide_progress (line 194) | fn hide_progress(&self) -> bool { type PythonFormat (line 199) | struct PythonFormat<'a> { method command (line 205) | fn command(&self) -> &str { method files (line 209) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { function python_format (line 223) | pub fn python_format(build: &mut Build, group: &str, inputs: BuildInput)... type RuffCheck (line 242) | pub struct RuffCheck { method command (line 249) | fn command(&self) -> &str { method files (line 253) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { type PythonTest (line 273) | pub struct PythonTest { method command (line 280) | fn command(&self) -> &str { method files (line 284) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { method hide_progress (line 298) | fn hide_progress(&self) -> bool { FILE: build/ninja_gen/src/render.rs method render (line 16) | pub fn render(&self) -> String { method write_build_file (line 60) | pub fn write_build_file(&self) -> Result<()> { FILE: build/ninja_gen/src/rsync.rs type RsyncFiles (line 16) | pub struct RsyncFiles<'a> { method command (line 24) | fn command(&self) -> &str { method files (line 28) | fn files(&mut self, build: &mut impl FilesHandle) { method check_output_timestamps (line 67) | fn check_output_timestamps(&self) -> bool { FILE: build/ninja_gen/src/sass.rs type CompileSassWithGrass (line 13) | pub struct CompileSassWithGrass { method command (line 21) | fn command(&self) -> &str { method files (line 25) | fn files(&mut self, build: &mut impl crate::build::FilesHandle) { method on_first_instance (line 35) | fn on_first_instance(&self, build: &mut Build) -> Result<()> { FILE: build/runner/build.rs function main (line 4) | fn main() { FILE: build/runner/src/archive.rs type ArchiveArgs (line 18) | pub enum ArchiveArgs { type DownloadArgs (line 24) | pub struct DownloadArgs { type ExtractArgs (line 31) | pub struct ExtractArgs { function archive_command (line 37) | pub async fn archive_command(args: ArchiveArgs) -> Result<()> { function download_and_check (line 46) | async fn download_and_check(archive_url: &str, checksum: &str, output_pa... function sha2_data (line 64) | fn sha2_data(data: &[u8]) -> String { type CompressionKind (line 71) | enum CompressionKind { type ArchiveKind (line 79) | enum ArchiveKind { function extract_archive (line 84) | fn extract_archive(archive_path: &str, output_folder: &str) -> Result<()> { FILE: build/runner/src/build.rs type BuildArgs (line 22) | pub struct BuildArgs { function run_build (line 27) | pub fn run_build(args: BuildArgs) { function get_ninja_command (line 117) | fn get_ninja_command() -> &'static str { function setup_build_root (line 125) | fn setup_build_root() -> Utf8PathBuf { function bootstrap_build (line 154) | fn bootstrap_build() { function maybe_update_buildhash (line 161) | fn maybe_update_buildhash(build_root: &Utf8Path) { function get_buildhash (line 169) | fn get_buildhash() -> String { function write_if_changed (line 180) | fn write_if_changed(path: &Utf8Path, contents: &str) { function maybe_update_env_file (line 190) | fn maybe_update_env_file(build_root: &Utf8Path) { FILE: build/runner/src/main.rs type Cli (line 33) | struct Cli { type Command (line 39) | enum Command { function main (line 49) | fn main() -> Result<()> { FILE: build/runner/src/paths.rs function absolute_msys_path (line 8) | pub fn absolute_msys_path(path: &Utf8Path) -> String { FILE: build/runner/src/pyenv.rs type PyenvArgs (line 13) | pub struct PyenvArgs { function setup_pyenv (line 23) | pub fn setup_pyenv(args: PyenvArgs) { FILE: build/runner/src/rsync.rs type RsyncArgs (line 13) | pub struct RsyncArgs { function rsync_files (line 24) | pub fn rsync_files(args: RsyncArgs) { FILE: build/runner/src/run.rs type RunArgs (line 13) | pub struct RunArgs { function run_commands (line 28) | pub fn run_commands(args: RunArgs) -> Result<()> { function split_env (line 42) | fn split_env(s: &str) -> Result<(String, String), std::io::Error> { function build_command (line 50) | fn build_command( function split_args (line 67) | fn split_args(args: Vec) -> Vec> { function run_command (line 84) | pub fn run_command(command: &mut Command) { FILE: build/runner/src/yarn.rs type YarnArgs (line 13) | pub struct YarnArgs { function setup_yarn (line 18) | pub fn setup_yarn(args: YarnArgs) { function link_node_modules (line 44) | fn link_node_modules() { function link_node_modules (line 61) | fn link_node_modules() { FILE: ftl/src/garbage_collection.rs type WriteJsonArgs (line 25) | pub struct WriteJsonArgs { type GarbageCollectArgs (line 31) | pub struct GarbageCollectArgs { type DeprecateEntriesArgs (line 37) | pub struct DeprecateEntriesArgs { constant DEPCRATION_WARNING (line 46) | const DEPCRATION_WARNING: &str = function write_ftl_json (line 52) | pub fn write_ftl_json(args: WriteJsonArgs) -> Result<()> { function garbage_collect_ftl_entries (line 64) | pub fn garbage_collect_ftl_entries(args: GarbageCollectArgs) -> Result<(... function deprecate_ftl_entries (line 73) | pub fn deprecate_ftl_entries(args: DeprecateEntriesArgs) -> Result<()> { function get_all_used_messages_and_terms (line 81) | fn get_all_used_messages_and_terms( function for_files_with_ending (line 91) | fn for_files_with_ending( function gather_ftl_references (line 112) | fn gather_ftl_references(roots: &[impl AsRef]) -> HashSet { function rewrite_ftl_files (line 122) | fn rewrite_ftl_files( function import_messages_from_json (line 135) | fn import_messages_from_json(json_roots: &[impl AsRef], entries: &m... function extract_nested_messages_and_terms (line 143) | fn extract_nested_messages_and_terms( function strip_unused_ftl_messages_and_terms (line 157) | fn strip_unused_ftl_messages_and_terms(roots: &[impl AsRef], used_f... function deprecate_unused_ftl_messages_and_terms (line 165) | fn deprecate_unused_ftl_messages_and_terms(roots: &[impl AsRef], us... function append_deprecation_warning (line 179) | fn append_deprecation_warning(entries: &mut Vec>) { function entry_use_check (line 191) | fn entry_use_check(used_ftls: &HashSet) -> impl Fn(&ast::Entry<&... function extract_references_from_file (line 199) | fn extract_references_from_file(refs: &mut HashSet, entry: &DirE... function snake_to_kebab_case (line 230) | fn snake_to_kebab_case(name: &str) -> String { function camel_to_kebab_case (line 234) | fn camel_to_kebab_case(name: &str) -> String { function case_conversion (line 252) | fn case_conversion() { FILE: ftl/src/main.rs type Cli (line 23) | struct Cli { type Command (line 29) | enum Command { function main (line 50) | fn main() -> Result<()> { FILE: ftl/src/serialize.rs function serialize (line 13) | pub fn serialize<'s, S: Slice<'s>>(resource: &Resource) -> String { function serialize_with_options (line 17) | pub fn serialize_with_options<'s, S: Slice<'s>>( type Serializer (line 30) | pub struct Serializer { method new (line 37) | pub fn new(options: Options) -> Self { method serialize_resource (line 45) | pub fn serialize_resource<'s, S: Slice<'s>>(&mut self, res: &Resource<... method into_serialized_text (line 65) | pub fn into_serialized_text(self) -> String { method serialize_junk (line 69) | fn serialize_junk(&mut self, junk: &str) -> Result<(), Error> { method serialize_free_comment (line 73) | fn serialize_free_comment<'s, S: Slice<'s>>( method serialize_comment (line 87) | fn serialize_comment<'s, S: Slice<'s>>( method serialize_message (line 106) | fn serialize_message<'s, S: Slice<'s>>(&mut self, msg: &Message) ->... method serialize_term (line 124) | fn serialize_term<'s, S: Slice<'s>>(&mut self, term: &Term) -> Resu... method serialize_pattern (line 141) | fn serialize_pattern<'s, S: Slice<'s>>(&mut self, pattern: &Pattern... method serialize_attributes (line 165) | fn serialize_attributes<'s, S: Slice<'s>>( method serialize_attribute (line 185) | fn serialize_attribute<'s, S: Slice<'s>>(&mut self, attr: &Attribute>( method serialize_expression (line 228) | fn serialize_expression<'s, S: Slice<'s>>( method serialize_inline_expression (line 240) | fn serialize_inline_expression<'s, S: Slice<'s>>( method serialize_select_expression (line 303) | fn serialize_select_expression<'s, S: Slice<'s>>( method serialize_variant (line 323) | fn serialize_variant<'s, S: Slice<'s>>(&mut self, variant: &Variant... method serialize_variant_key (line 336) | fn serialize_variant_key<'s, S: Slice<'s>>( method serialize_call_arguments (line 347) | fn serialize_call_arguments<'s, S: Slice<'s>>( function is_select_expr (line 380) | fn is_select_expr<'s, S: Slice<'s>>(expr: &Expression) -> bool { type Options (line 391) | pub struct Options { type State (line 396) | struct State { type TextWriter (line 401) | struct TextWriter { method indent (line 407) | fn indent(&mut self) { method dedent (line 411) | fn dedent(&mut self) { method write_indent (line 418) | fn write_indent(&mut self) { method newline (line 424) | fn newline(&mut self) { method write_literal (line 428) | fn write_literal(&mut self, mut item: &str) -> fmt::Result { method write_char_into_indent (line 441) | fn write_char_into_indent(&mut self, ch: char) { FILE: ftl/src/string/copy.rs type CopyOrMoveArgs (line 15) | pub struct CopyOrMoveArgs { type CopyOrMove (line 27) | pub(super) enum CopyOrMove { function copy_or_move (line 32) | pub(super) fn copy_or_move(mode: CopyOrMove, args: CopyOrMoveArgs) -> an... FILE: ftl/src/string/mod.rs type StringCommand (line 33) | pub enum StringCommand { function string_operation (line 46) | pub fn string_operation(args: StringCommand) -> anyhow::Result<()> { function additional_template_folder (line 53) | fn additional_template_folder(dst_folder: &Utf8Path) -> Option Result> { function ftl_file_from_key (line 76) | fn ftl_file_from_key(old_key: &str) -> String { function parse_file (line 97) | fn parse_file(ftl_path: &Utf8Path) -> Result> { function serialize_file (line 108) | fn serialize_file(path: &Utf8Path, resource: &Resource) -> Resul... function get_entry (line 118) | fn get_entry(fname: &Utf8Path, key: &str) -> Option> { function write_entry (line 131) | fn write_entry(path: &Utf8Path, key: &str, mut entry: Entry) -> ... function delete_entry (line 148) | fn delete_entry(path: &Utf8Path, key: &str) -> Result { FILE: ftl/src/string/transform.rs type TransformArgs (line 25) | pub struct TransformArgs { type TransformTarget (line 39) | pub enum TransformTarget { function transform (line 44) | pub fn transform(args: TransformArgs) -> Result<()> { function transform_ftl (line 61) | fn transform_ftl(ftl: &Utf8Path, regex: &Regex, args: &TransformArgs) ->... function transform_ftl_inner (line 70) | fn transform_ftl_inner( function transform_pattern (line 88) | fn transform_pattern(pattern: &mut Pattern, regex: &Regex, args:... function transform_variable (line 103) | fn transform_variable( function transform_text (line 135) | fn transform_text( function transform (line 179) | fn transform() -> Result<()> { FILE: ftl/src/sync.rs type Module (line 13) | struct Module { constant GIT_REMOTE (line 20) | const GIT_REMOTE: &str = "ssh"; function sync (line 22) | pub fn sync() -> Result<()> { function check_clean (line 43) | fn check_clean() -> Result<()> { function fetch_new_translations (line 57) | fn fetch_new_translations(module: &Module) -> Result<()> { function push_new_templates (line 69) | fn push_new_templates(module: &Module) -> Result<()> { function push (line 90) | fn push(repo: &Utf8Path) -> Result<()> { function commit (line 103) | fn commit(folder: F, message: &str) -> Result<()> FILE: pylib/anki/_backend.py class RustBackend (line 56) | class RustBackend(RustBackendGenerated): method initialize_logging (line 71) | def initialize_logging(path: str | None = None) -> None: method __init__ (line 74) | def __init__( method syncserver (line 92) | def syncserver() -> None: method db_query (line 95) | def db_query( method db_execute_many (line 102) | def db_execute_many(self, sql: str, args: list[list[ValueForDB]]) -> l... method db_begin (line 105) | def db_begin(self) -> None: method db_commit (line 108) | def db_commit(self) -> None: method db_rollback (line 111) | def db_rollback(self) -> None: method _db_command (line 114) | def _db_command(self, input: dict[str, Any]) -> Any: method translate (line 124) | def translate( method format_time_span (line 140) | def format_time_span( method compute_params_from_items (line 151) | def compute_params_from_items(self, items: Iterable[FsrsItem]) -> Sequ... method benchmark (line 154) | def benchmark(self, train_set: Iterable[FsrsItem]) -> Sequence[float]: method _run_command (line 157) | def _run_command(self, service: int, method: int, input: bytes) -> bytes: class Translations (line 174) | class Translations(GeneratedTranslations): method __init__ (line 175) | def __init__(self, backend: ref[RustBackend] | None): method __call__ (line 178) | def __call__(self, key: tuple[int, int], **kwargs: Any) -> str: method _translate (line 189) | def _translate( function backend_exception_to_pylib (line 197) | def backend_exception_to_pylib(err: backend_pb2.BackendError) -> Exception: FILE: pylib/anki/_legacy.py function _target_to_string (line 22) | def _target_to_string(target: DeprecatedAliasTarget | None) -> str: function partial_path (line 30) | def partial_path(full_path: str, components: int) -> str: function print_deprecation_warning (line 35) | def print_deprecation_warning(msg: str, frame: int = 1) -> None: function _print_warning (line 44) | def _print_warning(old: str, doc: str, frame: int = 1) -> None: function _print_replacement_warning (line 48) | def _print_replacement_warning(old: str, new: str, frame: int = 1) -> None: function _get_remapped_and_replacement (line 53) | def _get_remapped_and_replacement( class DeprecatedNamesMixin (line 65) | class DeprecatedNamesMixin: method __getattr__ (line 76) | def __getattr__(self, name: str) -> Any: method register_deprecated_aliases (line 89) | def register_deprecated_aliases(cls, **kwargs: DeprecatedAliasTarget) ... method register_deprecated_attributes (line 99) | def register_deprecated_attributes( class DeprecatedNamesMixinForModule (line 120) | class DeprecatedNamesMixinForModule: method __init__ (line 136) | def __init__(self, module_globals: dict[str, Any]) -> None: method __getattr__ (line 143) | def __getattr__(self, name: str) -> Any: method register_deprecated_aliases (line 156) | def register_deprecated_aliases(self, **kwargs: DeprecatedAliasTarget)... method register_deprecated_attributes (line 159) | def register_deprecated_attributes( function deprecated (line 169) | def deprecated(replaced_by: Callable | None = None, info: str = "") -> C... function deprecated_keywords (line 187) | def deprecated_keywords(**replaced_keys: str) -> Callable: FILE: pylib/anki/_rsbridge.pyi class Backend (line 3) | class Backend: method command (line 5) | def command(cls, service: int, method: int, data: bytes) -> bytes: ... method db_command (line 6) | def db_command(self, data: bytes) -> bytes: ... function buildhash (line 8) | def buildhash() -> str: ... function open_backend (line 9) | def open_backend(data: bytes) -> Backend: ... function initialize_logging (line 10) | def initialize_logging(log_file: Union[str, None]) -> Backend: ... function syncserver (line 11) | def syncserver() -> None: ... FILE: pylib/anki/_vendor/stringcase.py function camelcase (line 12) | def camelcase(string): function capitalcase (line 31) | def capitalcase(string): function constcase (line 49) | def constcase(string): function lowercase (line 64) | def lowercase(string): function pascalcase (line 78) | def pascalcase(string): function pathcase (line 92) | def pathcase(string): function backslashcase (line 109) | def backslashcase(string): function sentencecase (line 126) | def sentencecase(string): function snakecase (line 150) | def snakecase(string): function spinalcase (line 170) | def spinalcase(string): function dotcase (line 185) | def dotcase(string): function titlecase (line 200) | def titlecase(string): function trimcase (line 216) | def trimcase(string): function uppercase (line 229) | def uppercase(string): function alphanumcase (line 243) | def alphanumcase(string): FILE: pylib/anki/browser.py class BrowserConfig (line 5) | class BrowserConfig: method active_columns_key (line 14) | def active_columns_key(is_notes_mode: bool) -> str: method sort_column_key (line 20) | def sort_column_key(is_notes_mode: bool) -> str: method sort_backwards_key (line 26) | def sort_backwards_key(is_notes_mode: bool) -> str: class BrowserDefaults (line 32) | class BrowserDefaults: FILE: pylib/anki/cards.py class Card (line 39) | class Card(DeprecatedNamesMixin): method __init__ (line 54) | def __init__( method load (line 73) | def load(self) -> None: method _load_from_backend_card (line 78) | def _load_from_backend_card(self, card: cards_pb2.Card) -> None: method _to_backend_card (line 113) | def _to_backend_card(self) -> cards_pb2.Card: method flush (line 140) | def flush(self) -> None: method question (line 149) | def question(self, reload: bool = False, browser: bool = False) -> str: method answer (line 152) | def answer(self) -> str: method question_av_tags (line 155) | def question_av_tags(self) -> list[AVTag]: method answer_av_tags (line 158) | def answer_av_tags(self) -> list[AVTag]: method render_output (line 161) | def render_output( method set_render_output (line 172) | def set_render_output(self, output: anki.template.TemplateRenderOutput... method note (line 175) | def note(self, reload: bool = False) -> Note: method note_type (line 180) | def note_type(self) -> NotetypeDict: method template (line 183) | def template(self) -> TemplateDict: method start_timer (line 191) | def start_timer(self) -> None: method current_deck_id (line 194) | def current_deck_id(self) -> anki.decks.DeckId: method time_limit (line 197) | def time_limit(self) -> int: method should_show_timer (line 202) | def should_show_timer(self) -> bool: method replay_question_audio_on_answer_side (line 206) | def replay_question_audio_on_answer_side(self) -> bool: method autoplay (line 210) | def autoplay(self) -> bool: method time_taken (line 215) | def time_taken(self, capped: bool = True) -> int: method description (line 223) | def description(self) -> str: method user_flag (line 232) | def user_flag(self) -> int: method set_user_flag (line 235) | def set_user_flag(self, flag: int) -> None: method css (line 242) | def css(self) -> str: method is_empty (line 246) | def is_empty(self) -> bool: FILE: pylib/anki/collection.py class DeckIdLimit (line 103) | class DeckIdLimit: class NoteIdsLimit (line 108) | class NoteIdsLimit: class CardIdsLimit (line 113) | class CardIdsLimit: class ComputedMemoryState (line 121) | class ComputedMemoryState: class AddNoteRequest (line 129) | class AddNoteRequest: class Collection (line 134) | class Collection(DeprecatedNamesMixin): method initialize_backend_logging (line 138) | def initialize_backend_logging() -> None: method __init__ (line 142) | def __init__( method name (line 163) | def name(self) -> Any: method weakref (line 166) | def weakref(self) -> Collection: method backend (line 171) | def backend(self) -> RustBackend: method format_timespan (line 182) | def format_timespan( method latest_progress (line 192) | def latest_progress(self) -> Progress: method sched_ver (line 200) | def sched_ver(self) -> Literal[1, 2]: method _load_scheduler (line 210) | def _load_scheduler(self) -> None: method upgrade_to_v2_scheduler (line 225) | def upgrade_to_v2_scheduler(self) -> None: method v3_scheduler (line 229) | def v3_scheduler(self) -> bool: method set_v3_scheduler (line 232) | def set_v3_scheduler(self, enabled: bool) -> None: method crt (line 245) | def crt(self) -> int: method crt (line 249) | def crt(self, crt: int) -> None: method mod (line 253) | def mod(self) -> int: method save (line 257) | def save(self, **args: Any) -> None: method autosave (line 261) | def autosave(self) -> None: method close (line 264) | def close( method close_for_full_sync (line 276) | def close_for_full_sync(self) -> None: method _clear_caches (line 282) | def _clear_caches(self) -> None: method reopen (line 285) | def reopen(self, after_full_sync: bool = False) -> None: method set_schema_modified (line 302) | def set_schema_modified(self) -> None: method mod_schema (line 305) | def mod_schema(self, check: bool) -> None: method schema_changed (line 312) | def schema_changed(self) -> bool: method usn (line 316) | def usn(self) -> int: method create_backup (line 325) | def create_backup( method await_backup_completion (line 349) | def await_backup_completion(self) -> None: method export_collection_package (line 353) | def export_collection_package( method import_anki_package (line 361) | def import_anki_package( method export_anki_package (line 367) | def export_anki_package( method get_csv_metadata (line 376) | def get_csv_metadata(self, path: str, delimiter: Delimiter.V | None) -... method import_csv (line 380) | def import_csv(self, request: ImportCsvRequest) -> ImportLogWithChanges: method export_note_csv (line 384) | def export_note_csv( method export_card_csv (line 405) | def export_card_csv( method import_json_file (line 418) | def import_json_file(self, path: str) -> ImportLogWithChanges: method import_json_string (line 421) | def import_json_string(self, json: str) -> ImportLogWithChanges: method export_dataset_for_research (line 424) | def export_dataset_for_research( method get_image_for_occlusion (line 432) | def get_image_for_occlusion(self, path: str | None) -> GetImageForOccl... method add_image_occlusion_notetype (line 435) | def add_image_occlusion_notetype(self) -> None: method add_image_occlusion_note (line 439) | def add_image_occlusion_note( method get_image_occlusion_note (line 457) | def get_image_occlusion_note( method update_image_occlusion_note (line 462) | def update_image_occlusion_note( method get_card (line 481) | def get_card(self, id: CardId | None) -> Card: method update_cards (line 484) | def update_cards( method update_card (line 492) | def update_card(self, card: Card, skip_undo_entry: bool = False) -> Op... method get_note (line 496) | def get_note(self, id: NoteId) -> Note: method update_notes (line 499) | def update_notes( method update_note (line 507) | def update_note(self, note: Note, skip_undo_entry: bool = False) -> Op... method nextID (line 514) | def nextID(self, type: str, inc: bool = True) -> Any: method reset (line 522) | def reset(self) -> None: method new_note (line 528) | def new_note(self, notetype: NotetypeDict) -> Note: method add_note (line 531) | def add_note(self, note: Note, deck_id: DeckId) -> OpChangesWithCount: method add_notes (line 537) | def add_notes(self, requests: Iterable[AddNoteRequest]) -> OpChanges: method remove_notes (line 553) | def remove_notes(self, note_ids: Sequence[NoteId]) -> OpChangesWithCount: method remove_notes_by_card (line 557) | def remove_notes_by_card(self, card_ids: list[CardId]) -> None: method card_ids_of_note (line 565) | def card_ids_of_note(self, note_id: NoteId) -> Sequence[CardId]: method defaults_for_adding (line 568) | def defaults_for_adding( method default_deck_for_notetype (line 584) | def default_deck_for_notetype(self, notetype_id: NotetypeId) -> DeckId... method note_count (line 599) | def note_count(self) -> int: method is_empty (line 605) | def is_empty(self) -> bool: method card_count (line 608) | def card_count(self) -> Any: method remove_cards_and_orphaned_notes (line 611) | def remove_cards_and_orphaned_notes( method set_deck (line 617) | def set_deck(self, card_ids: Sequence[CardId], deck_id: int) -> OpChan... method get_empty_cards (line 620) | def get_empty_cards(self) -> EmptyCardsReport: method after_note_updates (line 626) | def after_note_updates( method find_cards (line 637) | def find_cards( method find_notes (line 669) | def find_notes( method _build_sort_mode (line 685) | def _build_sort_mode( method find_and_replace (line 714) | def find_and_replace( method field_names_for_note_ids (line 734) | def field_names_for_note_ids(self, nids: Sequence[int]) -> Sequence[str]: method find_dupes (line 738) | def find_dupes(self, field_name: str, search: str = "") -> list[tuple[... method build_search_string (line 776) | def build_search_string( method group_searches (line 792) | def group_searches( method join_searches (line 819) | def join_searches( method replace_in_search_node (line 838) | def replace_in_search_node( method _pb_search_separator (line 849) | def _pb_search_separator(self, operator: SearchJoiner) -> SearchNode.G... method all_browser_columns (line 858) | def all_browser_columns(self) -> Sequence[BrowserColumns.Column]: method get_browser_column (line 861) | def get_browser_column(self, key: str) -> BrowserColumns.Column | None: method browser_row_for_id (line 867) | def browser_row_for_id( method load_browser_card_columns (line 883) | def load_browser_card_columns(self) -> list[str]: method set_browser_card_columns (line 891) | def set_browser_card_columns(self, columns: list[str]) -> None: method load_browser_note_columns (line 895) | def load_browser_note_columns(self) -> list[str]: method set_browser_note_columns (line 903) | def set_browser_note_columns(self, columns: list[str]) -> None: method get_config (line 910) | def get_config(self, key: str, default: Any | None = None) -> Any: method set_config (line 916) | def set_config(self, key: str, val: Any, *, undoable: bool = False) ->... method remove_config (line 928) | def remove_config(self, key: str) -> OpChanges: method all_config (line 931) | def all_config(self) -> dict[str, Any]: method get_config_bool (line 935) | def get_config_bool(self, key: Config.Bool.V) -> bool: method set_config_bool (line 938) | def set_config_bool( method get_config_string (line 943) | def get_config_string(self, key: Config.String.V) -> str: method set_config_string (line 946) | def set_config_string( method get_aux_notetype_config (line 951) | def get_aux_notetype_config( method set_aux_notetype_config (line 957) | def set_aux_notetype_config( method get_aux_template_config (line 963) | def get_aux_template_config( method set_aux_template_config (line 971) | def set_aux_template_config( method _get_load_balancer_enabled (line 985) | def _get_load_balancer_enabled(self) -> bool: method _set_load_balancer_enabled (line 988) | def _set_load_balancer_enabled(self, value: bool) -> None: method _get_enable_fsrs_short_term_with_steps (line 995) | def _get_enable_fsrs_short_term_with_steps(self) -> bool: method _set_enable_fsrs_short_term_with_steps (line 998) | def _set_enable_fsrs_short_term_with_steps(self, value: bool) -> None: method stats (line 1008) | def stats(self) -> anki.stats.CollectionStats: method card_stats_data (line 1013) | def card_stats_data(self, card_id: CardId) -> stats_pb2.CardStatsRespo... method get_review_logs (line 1022) | def get_review_logs( method studied_today (line 1027) | def studied_today(self) -> str: method undo_status (line 1033) | def undo_status(self) -> UndoStatus: method add_custom_undo_entry (line 1037) | def add_custom_undo_entry(self, name: str) -> int: method merge_undo_entries (line 1049) | def merge_undo_entries(self, target: int) -> OpChanges: method undo (line 1059) | def undo(self) -> OpChangesAfterUndo: method redo (line 1066) | def redo(self) -> OpChangesAfterUndo: method op_made_changes (line 1073) | def op_made_changes(self, changes: OpChanges) -> bool: method _check_backend_undo_status (line 1080) | def _check_backend_undo_status(self) -> UndoStatus | None: method fix_integrity (line 1092) | def fix_integrity(self) -> tuple[str, bool]: method optimize (line 1107) | def optimize(self) -> None: method set_user_flag_for_cards (line 1113) | def set_user_flag_for_cards( method set_wants_abort (line 1118) | def set_wants_abort(self) -> None: method i18n_resources (line 1121) | def i18n_resources(self, modules: Sequence[str]) -> bytes: method abort_media_sync (line 1124) | def abort_media_sync(self) -> None: method abort_sync (line 1127) | def abort_sync(self) -> None: method full_upload_or_download (line 1130) | def full_upload_or_download( method sync_login (line 1139) | def sync_login( method sync_collection (line 1146) | def sync_collection(self, auth: SyncAuth, sync_media: bool) -> SyncOut... method sync_media (line 1149) | def sync_media(self, auth: SyncAuth) -> None: method sync_status (line 1152) | def sync_status(self, auth: SyncAuth) -> SyncStatus: method media_sync_status (line 1155) | def media_sync_status(self) -> MediaSyncStatus: method ankihub_login (line 1159) | def ankihub_login(self, id: str, password: str) -> str: method ankihub_logout (line 1162) | def ankihub_logout(self, token: str) -> None: method get_preferences (line 1165) | def get_preferences(self) -> Preferences: method set_preferences (line 1168) | def set_preferences(self, prefs: Preferences) -> OpChanges: method render_markdown (line 1171) | def render_markdown(self, text: str, sanitize: bool = True) -> str: method compare_answer (line 1175) | def compare_answer( method extract_cloze_for_typing (line 1182) | def extract_cloze_for_typing(self, text: str, ordinal: int) -> str: method compute_memory_state (line 1185) | def compute_memory_state(self, card_id: CardId) -> ComputedMemoryState: method fuzz_delta (line 1200) | def fuzz_delta(self, card_id: CardId, interval: int) -> int: method startTimebox (line 1214) | def startTimebox(self) -> None: method timeboxReached (line 1218) | def timeboxReached(self) -> Literal[False] | tuple[Any, int]: method log (line 1232) | def log(self, *args: Any, **kwargs: Any) -> None: method undo_name (line 1236) | def undo_name(self) -> str | None: method newNote (line 1242) | def newNote(self, forDeck: bool = True) -> Note: method addNote (line 1247) | def addNote(self, note: Note) -> int: method remNotes (line 1252) | def remNotes(self, ids: Sequence[NoteId]) -> None: method _remNotes (line 1256) | def _remNotes(self, ids: list[NoteId]) -> None: method card_stats (line 1260) | def card_stats(self, card_id: CardId, include_revlog: bool) -> str: method cardStats (line 1266) | def cardStats(self, card: Card) -> str: method updateFieldCache (line 1272) | def updateFieldCache(self, nids: list[NoteId]) -> None: method genCards (line 1276) | def genCards(self, nids: list[NoteId]) -> list[int]: method emptyCids (line 1282) | def emptyCids(self) -> list[CardId]: method _logRem (line 1286) | def _logRem(self, ids: list[int | NoteId], type: int) -> None: method setMod (line 1293) | def setMod(self) -> None: method flush (line 1297) | def flush(self) -> None: function pb_export_limit (line 1311) | def pb_export_limit(limit: ExportLimit) -> import_export_pb2.ExportLimit: FILE: pylib/anki/config.py class ConfigManager (line 37) | class ConfigManager: method __init__ (line 38) | def __init__(self, col: anki.collection.Collection): method get_immutable (line 41) | def get_immutable(self, key: str) -> Any: method set (line 47) | def set(self, key: str, val: Any) -> None: method remove (line 55) | def remove(self, key: str) -> OpChanges: method __getitem__ (line 61) | def __getitem__(self, key: str) -> Any: method __setitem__ (line 76) | def __setitem__(self, key: str, value: Any) -> None: method get (line 79) | def get(self, key: str, default: Any | None = None) -> Any: method setdefault (line 85) | def setdefault(self, key: str, default: Any) -> Any: method __contains__ (line 90) | def __contains__(self, key: str) -> bool: method __delitem__ (line 97) | def __delitem__(self, key: str) -> None: class WrappedList (line 109) | class WrappedList(list): method __init__ (line 110) | def __init__(self, conf: ref[ConfigManager], key: str, val: Any) -> None: method __del__ (line 116) | def __del__(self) -> None: class WrappedDict (line 123) | class WrappedDict(dict): method __init__ (line 124) | def __init__(self, conf: ref[ConfigManager], key: str, val: Any) -> None: method __del__ (line 130) | def __del__(self) -> None: FILE: pylib/anki/consts.py function _tr (line 100) | def _tr(col: anki.collection.Collection | None) -> Any: function new_card_order_labels (line 113) | def new_card_order_labels(col: anki.collection.Collection | None) -> dic... function __getattr__ (line 126) | def __getattr__(name: str) -> Any: FILE: pylib/anki/db.py class DB (line 26) | class DB(DeprecatedNamesMixin): method __init__ (line 27) | def __init__(self, path: str, timeout: int = 0) -> None: method __repr__ (line 34) | def __repr__(self) -> str: method execute (line 39) | def execute(self, sql: str, *a: Any, **ka: Any) -> Cursor: method executemany (line 59) | def executemany(self, sql: str, iterable: Any) -> None: method commit (line 68) | def commit(self) -> None: method executescript (line 74) | def executescript(self, sql: str) -> None: method rollback (line 80) | def rollback(self) -> None: method scalar (line 83) | def scalar(self, *a: Any, **kw: Any) -> Any: method all (line 89) | def all(self, *a: Any, **kw: Any) -> list: method first (line 92) | def first(self, *a: Any, **kw: Any) -> Any: method list (line 98) | def list(self, *a: Any, **kw: Any) -> list: method close (line 101) | def close(self) -> None: method set_progress_handler (line 105) | def set_progress_handler(self, *args: Any) -> None: method __enter__ (line 108) | def __enter__(self) -> "DB": method __exit__ (line 112) | def __exit__(self, *args: Any) -> None: method total_changes (line 115) | def total_changes(self) -> Any: method interrupt (line 118) | def interrupt(self) -> None: method set_autocommit (line 121) | def set_autocommit(self, autocommit: bool) -> None: method _text_factory (line 128) | def _text_factory(self, data: bytes) -> str: method cursor (line 131) | def cursor(self, factory: type[Cursor] = Cursor) -> Cursor: FILE: pylib/anki/dbproxy.py class DBProxy (line 24) | class DBProxy: method __init__ (line 28) | def __init__(self, backend: anki._backend.RustBackend) -> None: method transact (line 34) | def transact(self, op: Callable[[], None]) -> None: method _query (line 57) | def _query( method all (line 71) | def all(self, sql: str, *args: ValueForDB, **kwargs: ValueForDB) -> li... method list (line 74) | def list( method first (line 79) | def first(self, sql: str, *args: ValueForDB, **kwargs: ValueForDB) -> ... method scalar (line 86) | def scalar(self, sql: str, *args: ValueForDB, **kwargs: ValueForDB) ->... method executemany (line 100) | def executemany(self, sql: str, args: Iterable[Sequence[ValueForDB]]) ... function emulate_named_args (line 109) | def emulate_named_args( FILE: pylib/anki/decks.py class DecksDictProxy (line 42) | class DecksDictProxy: method __init__ (line 43) | def __init__(self, col: anki.collection.Collection): method _warn (line 46) | def _warn(self) -> None: method __getitem__ (line 51) | def __getitem__(self, item: Any) -> Any: method __setitem__ (line 55) | def __setitem__(self, key: Any, val: Any) -> None: method __len__ (line 59) | def __len__(self) -> int: method keys (line 63) | def keys(self) -> Any: method values (line 67) | def values(self) -> Any: method items (line 71) | def items(self) -> Any: method __contains__ (line 75) | def __contains__(self, item: Any) -> bool: class DeckManager (line 80) | class DeckManager(DeprecatedNamesMixin): method __init__ (line 84) | def __init__(self, col: anki.collection.Collection) -> None: method save (line 88) | def save(self, deck_or_config: DeckDict | DeckConfigDict | None = None... method add_normal_deck_with_name (line 104) | def add_normal_deck_with_name(self, name: str) -> OpChangesWithId: method add_deck_legacy (line 113) | def add_deck_legacy(self, deck: DeckDict) -> OpChangesWithId: method id (line 119) | def id( method remove (line 137) | def remove(self, dids: Sequence[DeckId]) -> OpChangesWithCount: method all_names_and_ids (line 140) | def all_names_and_ids( method id_for_name (line 148) | def id_for_name(self, name: str) -> DeckId | None: method get_legacy (line 154) | def get_legacy(self, did: DeckId) -> DeckDict | None: method have (line 160) | def have(self, id: DeckId) -> bool: method get_all_legacy (line 163) | def get_all_legacy(self) -> list[DeckDict]: method new_deck (line 166) | def new_deck(self) -> Deck: method add_deck (line 170) | def add_deck(self, deck: Deck) -> OpChangesWithId: method new_deck_legacy (line 173) | def new_deck_legacy(self, filtered: bool) -> DeckDict: method deck_tree (line 185) | def deck_tree(self) -> DeckTreeNode: method find_deck_in_tree (line 189) | def find_deck_in_tree( method all (line 200) | def all(self) -> list[DeckDict]: method set_collapsed (line 204) | def set_collapsed( method collapse (line 211) | def collapse(self, did: DeckId) -> None: method collapse_browser (line 216) | def collapse_browser(self, did: DeckId) -> None: method count (line 222) | def count(self) -> int: method card_count (line 225) | def card_count( method get (line 240) | def get(self, did: DeckId | str, default: bool = True) -> DeckDict | N... method by_name (line 255) | def by_name(self, name: str) -> DeckDict | None: method update (line 262) | def update(self, deck: DeckDict, preserve_usn: bool = True) -> None: method update_dict (line 268) | def update_dict(self, deck: DeckDict) -> OpChanges: method rename (line 271) | def rename(self, deck: DeckDict | DeckId, new_name: str) -> OpChanges: method reparent (line 282) | def reparent( method get_deck_configs_for_update (line 294) | def get_deck_configs_for_update(self, deck_id: DeckId) -> DeckConfigsF... method update_deck_configs (line 297) | def update_deck_configs(self, input: UpdateDeckConfigs) -> OpChanges: method all_config (line 301) | def all_config(self) -> list[DeckConfigDict]: method config_dict_for_deck_id (line 305) | def config_dict_for_deck_id(self, did: DeckId) -> DeckConfigDict: method get_config (line 319) | def get_config(self, conf_id: DeckConfigId) -> DeckConfigDict | None: method update_config (line 325) | def update_config(self, conf: DeckConfigDict, preserve_usn: bool = Fal... method add_config (line 331) | def add_config( method add_config_returning_id (line 343) | def add_config_returning_id( method remove_config (line 348) | def remove_config(self, id: DeckConfigId) -> None: method set_config_id_for_deck_dict (line 360) | def set_config_id_for_deck_dict(self, deck: DeckDict, id: DeckConfigId... method decks_using_config (line 364) | def decks_using_config(self, conf: DeckConfigDict) -> list[DeckId]: method restore_to_default (line 371) | def restore_to_default(self, conf: DeckConfigDict) -> None: method name (line 384) | def name(self, did: DeckId, default: bool = False) -> str: method name_if_exists (line 390) | def name_if_exists(self, did: DeckId) -> str | None: method cids (line 396) | def cids(self, did: DeckId, children: bool = False) -> list[anki.cards... method for_card_ids (line 404) | def for_card_ids(self, cids: list[anki.cards.CardId]) -> list[DeckId]: method set_current (line 410) | def set_current(self, deck: DeckId) -> OpChanges: method get_current_id (line 413) | def get_current_id(self) -> DeckId: method current (line 417) | def current(self) -> DeckDict: method active (line 420) | def active(self) -> list[DeckId]: method select (line 424) | def select(self, did: DeckId) -> None: method path (line 435) | def path(name: str) -> list[str]: method basename (line 439) | def basename(cls, name: str) -> str: method immediate_parent_path (line 443) | def immediate_parent_path(cls, name: str) -> list[str]: method immediate_parent (line 447) | def immediate_parent(cls, name: str) -> str | None: method key (line 454) | def key(cls, deck: DeckDict) -> list[str]: method deck_and_child_name_ids (line 457) | def deck_and_child_name_ids(self, deck_id: DeckId) -> Iterable[tuple[s... method children (line 464) | def children(self, did: DeckId) -> list[tuple[str, DeckId]]: method child_ids (line 472) | def child_ids(self, parent_name: str) -> Iterable[DeckId]: method deck_and_child_ids (line 477) | def deck_and_child_ids(self, deck_id: DeckId) -> list[DeckId]: method parents (line 483) | def parents( method parents_by_name (line 504) | def parents_by_name(self, name: str) -> list[DeckDict]: method new_filtered (line 523) | def new_filtered(self, name: str) -> DeckId: method is_filtered (line 529) | def is_filtered(self, did: DeckId | str) -> bool: method flush (line 536) | def flush(self) -> None: method rem (line 540) | def rem( method name_map (line 551) | def name_map(self) -> dict[str, DeckDict]: method set_deck (line 555) | def set_deck(self, cids: list[anki.cards.CardId], did: DeckId) -> None: method all_ids (line 565) | def all_ids(self) -> list[str]: method all_names (line 569) | def all_names(self, dyn: bool = True, force_default: bool = True) -> l... function __getattr__ (line 595) | def __getattr__(name): FILE: pylib/anki/errors.py class AnkiException (line 13) | class AnkiException(Exception): class BackendError (line 28) | class BackendError(AnkiException): method __init__ (line 31) | def __init__( method __str__ (line 44) | def __str__(self) -> str: class Interrupted (line 48) | class Interrupted(BackendError): class NetworkError (line 52) | class NetworkError(BackendError): class SyncErrorKind (line 56) | class SyncErrorKind(Enum): class SyncError (line 61) | class SyncError(BackendError): method __init__ (line 62) | def __init__( class BackendIOError (line 74) | class BackendIOError(BackendError): class CustomStudyError (line 78) | class CustomStudyError(BackendError): class DBError (line 82) | class DBError(BackendError): class CardTypeError (line 86) | class CardTypeError(BackendError): class TemplateError (line 90) | class TemplateError(BackendError): class NotFoundError (line 94) | class NotFoundError(BackendError): class DeletedError (line 98) | class DeletedError(BackendError): class ExistsError (line 102) | class ExistsError(BackendError): class UndoEmpty (line 106) | class UndoEmpty(BackendError): class FilteredDeckError (line 110) | class FilteredDeckError(BackendError): class InvalidInput (line 114) | class InvalidInput(BackendError): class SearchError (line 118) | class SearchError(BackendError): class SchedulerUpgradeRequired (line 122) | class SchedulerUpgradeRequired(BackendError): class AbortSchemaModification (line 126) | class AbortSchemaModification(AnkiException): FILE: pylib/anki/exporting.py class Exporter (line 27) | class Exporter: method __init__ (line 34) | def __init__( method key (line 45) | def key(col: Collection) -> str: method doExport (line 48) | def doExport(self, path) -> None: method exportInto (line 51) | def exportInto(self, path: str) -> None: method processText (line 57) | def processText(self, text: str) -> str: method escapeText (line 65) | def escapeText(self, text: str) -> str: method stripHTML (line 78) | def stripHTML(self, text: str) -> str: method cardIds (line 88) | def cardIds(self) -> Any: class TextCardExporter (line 103) | class TextCardExporter(Exporter): method __init__ (line 107) | def __init__(self, col) -> None: method key (line 111) | def key(col: Collection) -> str: method doExport (line 114) | def doExport(self, file) -> None: class TextNoteExporter (line 135) | class TextNoteExporter(Exporter): method __init__ (line 140) | def __init__(self, col: Collection) -> None: method key (line 145) | def key(col: Collection) -> str: method doExport (line 148) | def doExport(self, file: BufferedWriter) -> None: class AnkiExporter (line 179) | class AnkiExporter(Exporter): method __init__ (line 184) | def __init__(self, col: Collection) -> None: method key (line 188) | def key(col: Collection) -> str: method deckIds (line 191) | def deckIds(self) -> list[DeckId]: method exportInto (line 199) | def exportInto(self, path: str) -> None: method postExport (line 305) | def postExport(self) -> None: method removeSystemTags (line 310) | def removeSystemTags(self, tags: str) -> str: method _modelHasMedia (line 313) | def _modelHasMedia(self, model, fname) -> bool: class AnkiPackageExporter (line 328) | class AnkiPackageExporter(AnkiExporter): method __init__ (line 331) | def __init__(self, col: Collection) -> None: method key (line 335) | def key(col: Collection) -> str: method exportInto (line 338) | def exportInto(self, path: str) -> None: method doExport (line 348) | def doExport(self, z: ZipFile, path: str) -> dict[str, str]: # type: ... method _exportMedia (line 368) | def _exportMedia(self, z: ZipFile, files: list[str], fdir: str) -> dic... method prepareMedia (line 386) | def prepareMedia(self) -> None: method _addDummyCollection (line 393) | def _addDummyCollection(self, zip) -> None: class AnkiCollectionPackageExporter (line 409) | class AnkiCollectionPackageExporter(AnkiPackageExporter): method __init__ (line 415) | def __init__(self, col): method key (line 419) | def key(col: Collection) -> str: method exportInto (line 422) | def exportInto(self, path: str) -> None: class AnkiCollectionPackage21bExporter (line 442) | class AnkiCollectionPackage21bExporter(AnkiCollectionPackageExporter): method key (line 446) | def key(_col: Collection) -> str: function exporters (line 454) | def exporters(col: Collection) -> list[tuple[str, Any]]: FILE: pylib/anki/find.py class Finder (line 15) | class Finder: method __init__ (line 16) | def __init__(self, col: Collection | None) -> None: method findCards (line 20) | def findCards(self, query: Any, order: Any) -> Any: method findNotes (line 23) | def findNotes(self, query: Any) -> Any: function findReplace (line 31) | def findReplace( function fieldNamesForNotes (line 52) | def fieldNamesForNotes(col: Collection, nids: list[NoteId]) -> list[str]: function fieldNames (line 60) | def fieldNames(col: Collection, downcase: bool = True) -> list[str]: FILE: pylib/anki/foreign_data/__init__.py class ForeignCardType (line 18) | class ForeignCardType: method front_back (line 24) | def front_back() -> ForeignCardType: method back_front (line 32) | def back_front() -> ForeignCardType: method cloze (line 40) | def cloze() -> ForeignCardType: class ForeignNotetype (line 47) | class ForeignNotetype: method basic (line 54) | def basic(name: str) -> ForeignNotetype: method basic_reverse (line 58) | def basic_reverse(name: str) -> ForeignNotetype: method cloze (line 66) | def cloze(name: str) -> ForeignNotetype: class ForeignCard (line 73) | class ForeignCard: class ForeignNote (line 93) | class ForeignNote: class ForeignData (line 102) | class ForeignData: method serialize (line 107) | def serialize(self) -> str: class ForeignDataEncoder (line 111) | class ForeignDataEncoder(json.JSONEncoder): method default (line 112) | def default(self, obj: object) -> dict: FILE: pylib/anki/foreign_data/mnemosyne.py function serialize (line 32) | def serialize(db_path: str, deck_id: DeckId) -> str: function gather_data (line 37) | def gather_data(db: DB, deck_id: DeckId) -> ForeignData: function open_mnemosyne_db (line 46) | def open_mnemosyne_db(db_path: str) -> DB: class MnemoFactView (line 54) | class MnemoFactView(ABC): method foreign_notetype (line 60) | def foreign_notetype(cls) -> ForeignNotetype: class FrontOnly (line 64) | class FrontOnly(MnemoFactView): method foreign_notetype (line 69) | def foreign_notetype(cls) -> ForeignNotetype: class FrontBack (line 73) | class FrontBack(MnemoFactView): method foreign_notetype (line 78) | def foreign_notetype(cls) -> ForeignNotetype: class Vocabulary (line 82) | class Vocabulary(MnemoFactView): method foreign_notetype (line 87) | def foreign_notetype(cls) -> ForeignNotetype: method _recognition_card_type (line 95) | def _recognition_card_type() -> ForeignCardType: method _production_card_type (line 104) | def _production_card_type() -> ForeignCardType: class Cloze (line 113) | class Cloze(MnemoFactView): method foreign_notetype (line 118) | def foreign_notetype(cls) -> ForeignNotetype: class MnemoCard (line 123) | class MnemoCard: method card_ord (line 132) | def card_ord(self) -> int: method is_new (line 141) | def is_new(self) -> bool: method foreign_card (line 144) | def foreign_card(self) -> ForeignCard: method anki_interval (line 153) | def anki_interval(self) -> int: class MnemoFact (line 158) | class MnemoFact: method foreign_note (line 163) | def foreign_note( method fact_view (line 175) | def fact_view(self) -> type[MnemoFactView]: method anki_fields (line 192) | def anki_fields(self, fact_view: type[MnemoFactView]) -> list[str]: method anki_tags (line 195) | def anki_tags(self) -> list[str]: method foreign_cards (line 206) | def foreign_cards(self) -> list[ForeignCard]: function munge_field (line 211) | def munge_field(field: str) -> str: function gather_facts (line 221) | def gather_facts(db: DB) -> dict[int, MnemoFact]: function gather_cards_into_facts (line 235) | def gather_cards_into_facts(db: DB, facts: dict[int, MnemoFact]) -> None: FILE: pylib/anki/hooks.py function runHook (line 30) | def runHook(hook: str, *args: Any) -> None: function runFilter (line 42) | def runFilter(hook: str, arg: Any, *args: Any) -> Any: function addHook (line 54) | def addHook(hook: str, func: Callable) -> None: function remHook (line 62) | def remHook(hook: Any, func: Any) -> None: function wrap (line 77) | def wrap(old: Any, new: Any, pos: str = "after") -> Callable: FILE: pylib/anki/httpclient.py class HttpClient (line 25) | class HttpClient(DeprecatedNamesMixin): method __init__ (line 31) | def __init__(self, progress_hook: ProgressCallback | None = None) -> N... method __enter__ (line 35) | def __enter__(self) -> HttpClient: method __exit__ (line 38) | def __exit__(self, *args: Any) -> None: method close (line 41) | def close(self) -> None: method __del__ (line 46) | def __del__(self) -> None: method post (line 49) | def post(self, url: str, data: bytes, headers: dict[str, str] | None) ... method get (line 60) | def get(self, url: str, headers: dict[str, str] | None = None) -> Resp... method stream_content (line 68) | def stream_content(self, resp: Response) -> bytes: method _agent_name (line 78) | def _agent_name(self) -> str: FILE: pylib/anki/importing/__init__.py function importers (line 17) | def importers(col: Collection) -> Sequence[tuple[str, type[Importer]]]: FILE: pylib/anki/importing/anki2.py class V2ImportIntoV1 (line 25) | class V2ImportIntoV1(Exception): class MediaMapInvalid (line 29) | class MediaMapInvalid(Exception): class Anki2Importer (line 33) | class Anki2Importer(Importer): method __init__ (line 40) | def __init__(self, col: Collection, file: str) -> None: method run (line 47) | def run(self, media: None = None, importing_v2: bool = True) -> None: method _prepareFiles (line 58) | def _prepareFiles(self) -> None: method _import (line 71) | def _import(self) -> None: method _logNoteRow (line 87) | def _logNoteRow(self, action: str, noteRow: list[str]) -> None: method _importNotes (line 92) | def _importNotes(self) -> None: method _uniquifyNote (line 201) | def _uniquifyNote(self, note: list[Any]) -> bool: method _prepareModels (line 223) | def _prepareModels(self) -> None: method _mid (line 227) | def _mid(self, srcMid: NotetypeId) -> Any: method _did (line 264) | def _did(self, did: DeckId) -> Any: method _importCards (line 311) | def _importCards(self) -> None: method _importStaticMedia (line 403) | def _importStaticMedia(self) -> None: method _mediaData (line 413) | def _mediaData(self, fname: str, dir: str | None = None) -> bytes: method _srcMediaData (line 423) | def _srcMediaData(self, fname: str) -> bytes: method _dstMediaData (line 427) | def _dstMediaData(self, fname: str) -> bytes: method _writeDstMedia (line 431) | def _writeDstMedia(self, fname: str, data: bytes) -> None: method _mungeMedia (line 440) | def _mungeMedia(self, mid: NotetypeId, fieldsStr: str) -> str: method _postImport (line 472) | def _postImport(self) -> None: FILE: pylib/anki/importing/apkg.py class AnkiPackageImporter (line 17) | class AnkiPackageImporter(Anki2Importer): method run (line 21) | def run(self) -> None: # type: ignore method _srcMediaData (line 61) | def _srcMediaData(self, fname: str) -> Any: FILE: pylib/anki/importing/base.py class Importer (line 16) | class Importer: method __init__ (line 21) | def __init__(self, col: Collection, file: str) -> None: method run (line 28) | def run(self) -> None: method open (line 31) | def open(self) -> None: method close (line 35) | def close(self) -> None: method _prepareTS (line 45) | def _prepareTS(self) -> None: method ts (line 48) | def ts(self) -> Any: FILE: pylib/anki/importing/csvfile.py class TextImporter (line 15) | class TextImporter(NoteImporter): method __init__ (line 19) | def __init__(self, col: Collection, file: str) -> None: method foreignNotes (line 29) | def foreignNotes(self) -> list[ForeignNote]: method open (line 62) | def open(self) -> None: method cacheFile (line 67) | def cacheFile(self) -> None: method openFile (line 72) | def openFile(self) -> None: method updateDelimiter (line 92) | def updateDelimiter(self) -> None: method fields (line 132) | def fields(self) -> int: method close (line 137) | def close(self): method __del__ (line 142) | def __del__(self): method noteFromFields (line 148) | def noteFromFields(self, fields: list[str]) -> ForeignNote: FILE: pylib/anki/importing/mnemo.py class MnemosyneImporter (line 14) | class MnemosyneImporter(NoteImporter): method run (line 19) | def run(self): method fields (line 106) | def fields(self): method _mungeField (line 109) | def _mungeField(self, fld): method _addFronts (line 118) | def _addFronts(self, notes, model=None, fields=("f", "b")): method _addFrontBacks (line 143) | def _addFrontBacks(self, notes): method _addVocabulary (line 153) | def _addVocabulary(self, notes): method _addCloze (line 174) | def _addCloze(self, notes): FILE: pylib/anki/importing/noteimp.py class ForeignNote (line 35) | class ForeignNote: method __init__ (line 38) | def __init__(self) -> None: class ForeignCard (line 46) | class ForeignCard: method __init__ (line 47) | def __init__(self) -> None: class NoteImporter (line 73) | class NoteImporter(Importer): method __init__ (line 81) | def __init__(self, col: Collection, file: str) -> None: method run (line 88) | def run(self) -> None: method fields (line 94) | def fields(self) -> int: method initMapping (line 98) | def initMapping(self) -> None: method mappingOk (line 109) | def mappingOk(self) -> bool: method foreignNotes (line 112) | def foreignNotes(self) -> list: method importNotes (line 116) | def importNotes(self, notes: list[ForeignNote]) -> None: method newData (line 234) | def newData( method addNew (line 258) | def addNew( method updateData (line 268) | def updateData( method addUpdates (line 292) | def addUpdates(self, rows: list[Updates]) -> None: method processFields (line 318) | def processFields(self, note: ForeignNote, fields: list[str] | None = ... method updateCards (line 335) | def updateCards(self) -> None: FILE: pylib/anki/lang.py function lang_to_disk_lang (line 136) | def lang_to_disk_lang(lang: str) -> str: function _ (line 176) | def _(str: str) -> str: function ngettext (line 181) | def ngettext(single: str, plural: str, num: int) -> str: function set_lang (line 186) | def set_lang(lang: str) -> None: function get_def_lang (line 193) | def get_def_lang(user_lang: str | None = None) -> tuple[int, str]: function is_rtl (line 239) | def is_rtl(lang: str) -> bool: function without_unicode_isolation (line 245) | def without_unicode_isolation(string: str) -> str: function with_collapsed_whitespace (line 249) | def with_collapsed_whitespace(string: str) -> str: function __getattr__ (line 258) | def __getattr__(name: str) -> Any: FILE: pylib/anki/latex.py class ExtractedLatex (line 45) | class ExtractedLatex: class ExtractedLatexOutput (line 51) | class ExtractedLatexOutput: method from_proto (line 56) | def from_proto( function on_card_did_render (line 68) | def on_card_did_render( function render_latex (line 77) | def render_latex( function render_latex_returning_errors (line 87) | def render_latex_returning_errors( function _save_latex_image (line 121) | def _save_latex_image( function _err_msg (line 164) | def _err_msg(col: anki.collection.Collection, type: str, texpath: str) -... function setup_hook (line 178) | def setup_hook() -> None: FILE: pylib/anki/media.py function media_paths_from_col_path (line 23) | def media_paths_from_col_path(col_path: str) -> tuple[str, str]: class MediaManager (line 32) | class MediaManager(DeprecatedNamesMixin): method __init__ (line 46) | def __init__(self, col: anki.collection.Collection, server: bool) -> N... method __repr__ (line 55) | def __repr__(self) -> str: method dir (line 60) | def dir(self) -> str: method force_resync (line 63) | def force_resync(self) -> None: method empty_trash (line 69) | def empty_trash(self) -> None: method restore_trash (line 72) | def restore_trash(self) -> None: method strip_av_tags (line 75) | def strip_av_tags(self, text: str) -> str: method _extract_filenames (line 78) | def _extract_filenames(self, text: str) -> list[str]: method add_file (line 90) | def add_file(self, path: str) -> str: method write_data (line 97) | def write_data(self, desired_fname: str, data: bytes) -> str: method add_extension_based_on_mime (line 103) | def add_extension_based_on_mime(self, fname: str, content_type: str) -... method have (line 125) | def have(self, fname: str) -> bool: method trash_files (line 128) | def trash_files(self, fnames: list[str]) -> None: method files_in_str (line 136) | def files_in_str( method extract_static_media_files (line 152) | def extract_static_media_files(self, mid: NotetypeId) -> Sequence[str]: method transform_names (line 155) | def transform_names(self, txt: str, func: Callable) -> str: method strip (line 160) | def strip(self, txt: str) -> str: method escape_images (line 166) | def escape_images(self, string: str, unescape: bool = False) -> str: method escape_media_filenames (line 170) | def escape_media_filenames(self, string: str, unescape: bool = False) ... method check (line 180) | def check(self) -> CheckMediaResponse: method render_all_latex (line 184) | def render_all_latex( method _legacy_strip_illegal (line 220) | def _legacy_strip_illegal(self, str: str) -> str: method _legacy_has_illegal (line 224) | def _legacy_has_illegal(self, string: str) -> bool: method _legacy_find_changes (line 233) | def _legacy_find_changes(self) -> None: method _legacy_write_data (line 237) | def _legacy_write_data( FILE: pylib/anki/models.py class ModelsDictProxy (line 42) | class ModelsDictProxy: method __init__ (line 43) | def __init__(self, col: anki.collection.Collection): method _warn (line 46) | def _warn(self) -> None: method __getitem__ (line 51) | def __getitem__(self, item: Any) -> Any: method __setitem__ (line 55) | def __setitem__(self, key: str, val: Any) -> None: method __len__ (line 59) | def __len__(self) -> int: method keys (line 63) | def keys(self) -> Any: method values (line 67) | def values(self) -> Any: method items (line 71) | def items(self) -> Any: method __contains__ (line 75) | def __contains__(self, item: Any) -> bool: class ModelManager (line 80) | class ModelManager(DeprecatedNamesMixin): method __init__ (line 84) | def __init__(self, col: anki.collection.Collection) -> None: method __repr__ (line 90) | def __repr__(self) -> str: method _update_cache (line 104) | def _update_cache(self, notetype: NotetypeDict) -> None: method _remove_from_cache (line 107) | def _remove_from_cache(self, ntid: NotetypeId) -> None: method _get_cached (line 111) | def _get_cached(self, ntid: NotetypeId) -> NotetypeDict | None: method _clear_cache (line 114) | def _clear_cache(self) -> None: method all_names_and_ids (line 120) | def all_names_and_ids(self) -> Sequence[NotetypeNameId]: method all_use_counts (line 123) | def all_use_counts(self) -> Sequence[NotetypeNameIdUseCount]: method have (line 127) | def have(self, id: NotetypeId) -> bool: method current (line 135) | def current(self, for_deck: bool = True) -> NotetypeDict: method id_for_name (line 147) | def id_for_name(self, name: str) -> NotetypeId | None: method get (line 153) | def get(self, id: NotetypeId) -> NotetypeDict | None: method all (line 173) | def all(self) -> list[NotetypeDict]: method by_name (line 177) | def by_name(self, name: str) -> NotetypeDict | None: method new (line 185) | def new(self, name: str) -> NotetypeDict: method remove_all_notetypes (line 196) | def remove_all_notetypes(self) -> None: method remove (line 201) | def remove(self, id: NotetypeId) -> OpChanges: method add (line 206) | def add(self, notetype: NotetypeDict) -> OpChangesWithId: method add_dict (line 214) | def add_dict(self, notetype: NotetypeDict) -> OpChangesWithId: method ensure_name_unique (line 219) | def ensure_name_unique(self, notetype: NotetypeDict) -> None: method update_dict (line 224) | def update_dict( method _mutate_after_write (line 234) | def _mutate_after_write(self, notetype: NotetypeDict) -> None: method nids (line 243) | def nids(self, ntid: NotetypeId) -> list[anki.notes.NoteId]: method use_count (line 250) | def use_count(self, notetype: NotetypeDict) -> int: method copy (line 259) | def copy(self, notetype: NotetypeDict, add: bool = True) -> NotetypeDict: method field_map (line 274) | def field_map(self, notetype: NotetypeDict) -> dict[str, tuple[int, Fi... method field_names (line 278) | def field_names(self, notetype: NotetypeDict) -> list[str]: method sort_idx (line 281) | def sort_idx(self, notetype: NotetypeDict) -> int: method cloze_fields (line 284) | def cloze_fields(self, mid: NotetypeId) -> Sequence[int]: method new_field (line 291) | def new_field(self, name: str) -> FieldDict: method add_field (line 301) | def add_field(self, notetype: NotetypeDict, field: FieldDict) -> None: method remove_field (line 305) | def remove_field(self, notetype: NotetypeDict, field: FieldDict) -> None: method reposition_field (line 309) | def reposition_field( method rename_field (line 320) | def rename_field( method set_sort_index (line 327) | def set_sort_index(self, notetype: NotetypeDict, idx: int) -> None: method new_template (line 336) | def new_template(self, name: str) -> TemplateDict: method add_template (line 347) | def add_template(self, notetype: NotetypeDict, template: TemplateDict)... method remove_template (line 351) | def remove_template(self, notetype: NotetypeDict, template: TemplateDi... method reposition_template (line 357) | def reposition_template( method template_use_count (line 368) | def template_use_count(self, ntid: NotetypeId, ord: int) -> int: method get_single_notetype_of_notes (line 380) | def get_single_notetype_of_notes( method change_notetype_info (line 387) | def change_notetype_info( method change_notetype_of_notes (line 394) | def change_notetype_of_notes(self, input: ChangeNotetypeRequest) -> Op... method restore_notetype_to_stock (line 410) | def restore_notetype_to_stock( method change (line 422) | def change( method _convert_legacy_map (line 451) | def _convert_legacy_map( method scmhash (line 469) | def scmhash(self, notetype: NotetypeDict) -> str: method _availClozeOrds (line 482) | def _availClozeOrds( method addTemplate (line 491) | def addTemplate(self, notetype: NotetypeDict, template: TemplateDict) ... method remTemplate (line 497) | def remTemplate(self, notetype: NotetypeDict, template: TemplateDict) ... method move_template (line 502) | def move_template( method addField (line 509) | def addField(self, notetype: NotetypeDict, field: FieldDict) -> None: method remField (line 515) | def remField(self, notetype: NotetypeDict, field: FieldDict) -> None: method moveField (line 520) | def moveField(self, notetype: NotetypeDict, field: FieldDict, idx: int... method renameField (line 525) | def renameField( method rem (line 532) | def rem(self, m: NotetypeDict) -> None: method set_current (line 537) | def set_current(self, m: NotetypeDict) -> None: method all_names (line 541) | def all_names(self) -> list[str]: method ids (line 545) | def ids(self) -> list[NotetypeId]: method flush (line 549) | def flush(self) -> None: method update (line 553) | def update( method save (line 571) | def save(self, notetype: NotetypeDict | None = None, **legacy_kwargs: ... FILE: pylib/anki/notes.py class Note (line 29) | class Note(DeprecatedNamesMixin): method __init__ (line 36) | def __init__( method load (line 55) | def load(self) -> None: method _load_from_backend_note (line 60) | def _load_from_backend_note(self, note: notes_pb2.Note) -> None: method _to_backend_note (line 70) | def _to_backend_note(self) -> notes_pb2.Note: method flush (line 83) | def flush(self) -> None: method joined_fields (line 91) | def joined_fields(self) -> str: method ephemeral_card (line 94) | def ephemeral_card( method cards (line 134) | def cards(self) -> list[anki.cards.Card]: method card_ids (line 137) | def card_ids(self) -> Sequence[anki.cards.CardId]: method note_type (line 140) | def note_type(self) -> NotetypeDict | None: method cloze_numbers_in_fields (line 145) | def cloze_numbers_in_fields(self) -> Sequence[int]: method keys (line 151) | def keys(self) -> list[str]: method values (line 154) | def values(self) -> list[str]: method items (line 157) | def items(self) -> list[tuple[str, str]]: method _field_index (line 160) | def _field_index(self, key: str) -> int: method __getitem__ (line 166) | def __getitem__(self, key: str) -> str: method __setitem__ (line 169) | def __setitem__(self, key: str, value: str) -> None: method __contains__ (line 172) | def __contains__(self, key: str) -> bool: method has_tag (line 178) | def has_tag(self, tag: str) -> bool: method remove_tag (line 181) | def remove_tag(self, tag: str) -> None: method add_tag (line 186) | def add_tag(self, tag: str) -> None: method string_tags (line 190) | def string_tags(self) -> str: method set_tags_from_str (line 193) | def set_tags_from_str(self, tags: str) -> None: method fields_check (line 199) | def fields_check(self) -> NoteFieldsCheckResult.V: FILE: pylib/anki/scheduler/base.py class SchedulerBase (line 43) | class SchedulerBase(DeprecatedNamesMixin): method __init__ (line 48) | def __init__(self, col: anki.collection.Collection) -> None: method _timing_today (line 51) | def _timing_today(self) -> SchedTimingToday: method today (line 55) | def today(self) -> int: method day_cutoff (line 59) | def day_cutoff(self) -> int: method countIdx (line 62) | def countIdx(self, card: Card) -> int: method deck_due_tree (line 71) | def deck_due_tree(self, top_deck_id: None = None) -> DeckTreeNode: ... method deck_due_tree (line 74) | def deck_due_tree(self, top_deck_id: DeckId) -> DeckTreeNode | None: ... method deck_due_tree (line 76) | def deck_due_tree(self, top_deck_id: DeckId | None = None) -> DeckTree... method congratulations_info (line 87) | def congratulations_info(self) -> CongratsInfo: method have_buried_siblings (line 90) | def have_buried_siblings(self) -> bool: method have_manually_buried (line 93) | def have_manually_buried(self) -> bool: method have_buried (line 96) | def have_buried(self) -> bool: method custom_study (line 100) | def custom_study(self, request: CustomStudyRequest) -> OpChanges: method custom_study_defaults (line 103) | def custom_study_defaults(self, deck_id: DeckId) -> CustomStudyDefaults: method extend_limits (line 106) | def extend_limits(self, new: int, rev: int) -> None: method _deck_limit (line 112) | def _deck_limit(self) -> str: method rebuild_filtered_deck (line 120) | def rebuild_filtered_deck(self, deck_id: DeckId) -> OpChangesWithCount: method empty_filtered_deck (line 123) | def empty_filtered_deck(self, deck_id: DeckId) -> OpChanges: method get_or_create_filtered_deck (line 126) | def get_or_create_filtered_deck(self, deck_id: DeckId) -> FilteredDeck... method add_or_update_filtered_deck (line 129) | def add_or_update_filtered_deck( method filtered_deck_order_labels (line 134) | def filtered_deck_order_labels(self) -> Sequence[str]: method unsuspend_cards (line 140) | def unsuspend_cards(self, ids: Sequence[CardId]) -> OpChanges: method unbury_cards (line 143) | def unbury_cards(self, ids: Sequence[CardId]) -> OpChanges: method unbury_deck (line 146) | def unbury_deck( method suspend_cards (line 153) | def suspend_cards(self, ids: Sequence[CardId]) -> OpChangesWithCount: method suspend_notes (line 158) | def suspend_notes(self, ids: Sequence[NoteId]) -> OpChangesWithCount: method bury_cards (line 163) | def bury_cards( method bury_notes (line 174) | def bury_notes(self, note_ids: Sequence[NoteId]) -> OpChangesWithCount: method schedule_cards_as_new (line 182) | def schedule_cards_as_new( method schedule_cards_as_new_defaults (line 200) | def schedule_cards_as_new_defaults( method set_due_date (line 205) | def set_due_date( method reset_cards (line 226) | def reset_cards(self, ids: list[CardId]) -> None: method reposition_new_cards (line 247) | def reposition_new_cards( method reposition_defaults (line 263) | def reposition_defaults(self) -> RepositionDefaults: method randomize_cards (line 266) | def randomize_cards(self, did: DeckId) -> None: method order_cards (line 269) | def order_cards(self, did: DeckId) -> None: method resort_conf (line 272) | def resort_conf(self, conf: DeckConfigDict) -> None: method maybe_randomize_deck (line 280) | def maybe_randomize_deck(self, did: DeckId | None = None) -> None: method _legacy_sort_cards (line 288) | def _legacy_sort_cards( FILE: pylib/anki/scheduler/dummy.py class DummyScheduler (line 12) | class DummyScheduler(SchedulerBaseWithLegacy): method reset (line 15) | def reset(self) -> None: method getCard (line 18) | def getCard(self) -> Card | None: method answerCard (line 21) | def answerCard(self, card: Card, ease: int) -> None: method _is_finished (line 24) | def _is_finished(self) -> bool: method active_decks (line 28) | def active_decks(self) -> list[DeckId]: method counts (line 31) | def counts(self) -> tuple[int, int, int]: FILE: pylib/anki/scheduler/legacy.py class SchedulerBaseWithLegacy (line 20) | class SchedulerBaseWithLegacy(SchedulerBase): method reschedCards (line 23) | def reschedCards( method buryNote (line 28) | def buryNote(self, nid: NoteId) -> None: method unburyCards (line 32) | def unburyCards(self) -> None: method unburyCardsForDeck (line 36) | def unburyCardsForDeck(self, type: str = "all") -> None: method finishedMsg (line 46) | def finishedMsg(self) -> str: method _nextDueMsg (line 50) | def _nextDueMsg(self) -> str: method rebuildDyn (line 54) | def rebuildDyn(self, did: DeckId | None = None) -> int | None: method emptyDyn (line 63) | def emptyDyn(self, did: DeckId | None, lim: str | None = None) -> None: method remFromDyn (line 84) | def remFromDyn(self, cids: list[CardId]) -> None: method update_stats (line 88) | def update_stats( method _updateStats (line 102) | def _updateStats(self, card: Card, type: str, cnt: int = 1) -> None: method deckDueTree (line 111) | def deckDueTree(self) -> list: method total_rev_for_current_deck (line 119) | def total_rev_for_current_deck(self) -> int: method answerButtons (line 129) | def answerButtons(self, card: Card) -> int: method _cardConf (line 134) | def _cardConf(self, card: Card) -> DeckConfigDict: method _fuzzIvlRange (line 137) | def _fuzzIvlRange(self, ivl: int) -> tuple[int, int]: FILE: pylib/anki/scheduler/v3.py class Scheduler (line 39) | class Scheduler(SchedulerBaseWithLegacy): method get_queued_cards (line 48) | def get_queued_cards( method describe_next_states (line 59) | def describe_next_states(self, next_states: SchedulingStates) -> Seque... method build_answer (line 66) | def build_answer( method answer_card (line 94) | def answer_card(self, input: CardAnswer) -> OpChanges: method state_is_leech (line 100) | def state_is_leech(self, new_state: SchedulingState) -> bool: method reset (line 108) | def reset(self) -> None: method getCard (line 112) | def getCard(self) -> Card | None: method _is_finished (line 124) | def _is_finished(self) -> bool: method counts (line 128) | def counts(self, card: Card | None = None) -> tuple[int, int, int]: method newCount (line 133) | def newCount(self) -> int: method lrnCount (line 137) | def lrnCount(self) -> int: method reviewCount (line 141) | def reviewCount(self) -> int: method nextIvlStr (line 144) | def nextIvlStr(self, card: Card, ease: int, short: bool = False) -> str: method answerCard (line 152) | def answerCard(self, card: Card, ease: Literal[1, 2, 3, 4]) -> OpChanges: method _interval_for_state (line 178) | def _interval_for_state(self, state: scheduler_pb2.SchedulingState) ->... method _interval_for_normal_state (line 188) | def _interval_for_normal_state( method _interval_for_filtered_state (line 204) | def _interval_for_filtered_state( method nextIvl (line 216) | def nextIvl(self, card: Card, ease: int) -> Any: method active_decks (line 237) | def active_decks(self) -> list[DeckId]: FILE: pylib/anki/sound.py class TTSTag (line 22) | class TTSTag: class SoundOrVideoTag (line 37) | class SoundOrVideoTag: method path (line 51) | def path(self, media_folder: str) -> str: function strip_av_refs (line 72) | def strip_av_refs(text: str) -> str: FILE: pylib/anki/stats.py function _legacy_card_stats (line 25) | def _legacy_card_stats( class CardStats (line 47) | class CardStats: method __init__ (line 50) | def __init__(self, col: anki.collection.Collection, card: anki.cards.C... method report (line 56) | def report(self, include_revlog: bool = False) -> str: method addLine (line 61) | def addLine(self, k: str, v: int | str) -> None: method makeLine (line 64) | def makeLine(self, k: str, v: str | int) -> str: method date (line 69) | def date(self, tm: float) -> str: method time (line 72) | def time(self, tm: float) -> str: class CollectionStats (line 96) | class CollectionStats: method __init__ (line 97) | def __init__(self, col: anki.collection.Collection) -> None: method report (line 106) | def report(self, type: int = PERIOD_MONTH) -> str: method _section (line 123) | def _section(self, txt: str) -> str: method todayStats (line 141) | def todayStats(self) -> str: method get_start_end_chunk (line 211) | def get_start_end_chunk(self, by: str = "review") -> tuple[int, int | ... method dueGraph (line 227) | def dueGraph(self) -> str: method _dueInfo (line 272) | def _dueInfo(self, tot: int, num: int) -> str: method _due (line 291) | def _due( method introductionGraph (line 316) | def introductionGraph(self) -> str: method repsGraphs (line 350) | def repsGraphs(self) -> str: method _ansInfo (line 408) | def _ansInfo( method _splitRepData (line 456) | def _splitRepData( method _added (line 497) | def _added(self, num: int | None = 7, chunk: int = 1) -> Any: method _done (line 524) | def _done(self, num: int | None = 7, chunk: int = 1) -> Any: method _daysStudied (line 568) | def _daysStudied(self) -> Any: method ivlGraph (line 597) | def ivlGraph(self) -> str: method _ivls (line 638) | def _ivls(self) -> tuple[list[Any], int]: method easeGraph (line 667) | def easeGraph(self) -> str: method _easeInfo (line 712) | def _easeInfo(self, eases: list[tuple[int, int, int]]) -> str: method _eases (line 739) | def _eases(self) -> Any: method hourGraph (line 769) | def hourGraph(self) -> str: method _hourRet (line 836) | def _hourRet(self) -> Any: method cardGraph (line 860) | def cardGraph(self) -> str: method _line (line 900) | def _line(self, i: list[str], a: str, b: int | str, bold: bool = True)... method _lineTbl (line 914) | def _lineTbl(self, i: list[str]) -> str: method _factors (line 917) | def _factors(self) -> Any: method _cards (line 928) | def _cards(self) -> Any: method footer (line 943) | def footer(self) -> str: method _graph (line 959) | def _graph( method _limit (line 1074) | def _limit(self) -> Any: method _revlogLimit (line 1079) | def _revlogLimit(self) -> str: method _title (line 1086) | def _title(self, title: str, subtitle: str = "") -> str: method _deckAge (line 1089) | def _deckAge(self, by: str) -> int: method _periodDays (line 1108) | def _periodDays(self) -> int | None: method _avgDay (line 1114) | def _avgDay(self, tot: float, num: int, unit: str) -> str: FILE: pylib/anki/stdmodels.py function _get_stock_notetype (line 22) | def _get_stock_notetype( function get_stock_notetypes (line 28) | def get_stock_notetypes( function _legacy_add_basic_model (line 66) | def _legacy_add_basic_model( function _legacy_add_basic_typing_model (line 74) | def _legacy_add_basic_typing_model( function _legacy_add_forward_reverse (line 82) | def _legacy_add_forward_reverse( function _legacy_add_forward_optional_reverse (line 90) | def _legacy_add_forward_optional_reverse( function _legacy_add_cloze_model (line 98) | def _legacy_add_cloze_model( function __getattr__ (line 121) | def __getattr__(name: str) -> Any: FILE: pylib/anki/sync.py class Syncer (line 19) | class Syncer: method sync (line 20) | def sync(self) -> str: FILE: pylib/anki/syncserver.py function run_sync_server (line 5) | def run_sync_server() -> None: FILE: pylib/anki/tags.py class TagManager (line 34) | class TagManager(DeprecatedNamesMixin): method __init__ (line 35) | def __init__(self, col: anki.collection.Collection) -> None: method all (line 39) | def all(self) -> list[str]: method __repr__ (line 42) | def __repr__(self) -> str: method tree (line 47) | def tree(self) -> TagTreeNode: method clear_unused_tags (line 53) | def clear_unused_tags(self) -> OpChangesWithCount: method set_collapsed (line 56) | def set_collapsed(self, tag: str, collapsed: bool) -> OpChanges: method bulk_add (line 63) | def bulk_add(self, note_ids: Sequence[NoteId], tags: str) -> OpChanges... method bulk_remove (line 67) | def bulk_remove(self, note_ids: Sequence[NoteId], tags: str) -> OpChan... method find_and_replace (line 73) | def find_and_replace( method rename (line 95) | def rename(self, old: str, new: str) -> OpChangesWithCount: method remove (line 99) | def remove(self, space_separated_tags: str) -> OpChangesWithCount: method reparent (line 103) | def reparent(self, tags: Sequence[str], new_parent: str) -> OpChangesW... method split (line 111) | def split(self, tags: str) -> list[str]: method join (line 115) | def join(self, tags: list[str]) -> str: method rem_from_str (line 121) | def rem_from_str(self, deltags: str, tags: str) -> str: method canonify (line 144) | def canonify(self, tag_list: list[str]) -> list[str]: method in_list (line 147) | def in_list(self, tag: str, tags: list[str]) -> bool: method _legacy_register_notes (line 154) | def _legacy_register_notes(self, nids: list[int] | None = None) -> None: method register (line 157) | def register( method _legacy_bulk_add (line 162) | def _legacy_bulk_add(self, ids: list[NoteId], tags: str, add: bool = T... method _legacy_bulk_rem (line 169) | def _legacy_bulk_rem(self, ids: list[NoteId], tags: str) -> None: method by_deck (line 173) | def by_deck(self, did: DeckId, children: bool = False) -> list[str]: FILE: pylib/anki/template.py class TemplateReplacement (line 49) | class TemplateReplacement: class PartiallyRenderedCard (line 59) | class PartiallyRenderedCard: method from_proto (line 67) | def from_proto( method nodes_from_proto (line 78) | def nodes_from_proto( function av_tag_to_native (line 96) | def av_tag_to_native(tag: card_rendering_pb2.AVTag) -> AVTag: function av_tags_to_native (line 110) | def av_tags_to_native(tags: Sequence[card_rendering_pb2.AVTag]) -> list[... class TemplateRenderContext (line 114) | class TemplateRenderContext: method from_existing_card (line 121) | def from_existing_card( method from_card_layout (line 127) | def from_card_layout( method __init__ (line 144) | def __init__( method question_side (line 173) | def question_side(self) -> bool: method col (line 176) | def col(self) -> anki.collection.Collection: method fields (line 179) | def fields(self) -> dict[str, str]: method card (line 200) | def card(self) -> anki.cards.Card: method note (line 207) | def note(self) -> anki.notes.Note: method note_type (line 210) | def note_type(self) -> NotetypeDict: method latex_svg (line 213) | def latex_svg(self) -> bool: method qfmt (line 217) | def qfmt(self) -> str: method afmt (line 221) | def afmt(self) -> str: method render (line 224) | def render(self) -> TemplateRenderOutput: method _partially_render (line 258) | def _partially_render(self) -> PartiallyRenderedCard: class TemplateRenderOutput (line 280) | class TemplateRenderOutput: method question_and_style (line 289) | def question_and_style(self) -> str: method answer_and_style (line 292) | def answer_and_style(self) -> str: function templates_for_card (line 297) | def templates_for_card(card: anki.cards.Card, browser: bool) -> tuple[st... function apply_custom_filters (line 308) | def apply_custom_filters( FILE: pylib/anki/types.py function assert_exhaustive (line 7) | def assert_exhaustive(arg: NoReturn) -> NoReturn: FILE: pylib/anki/utils.py function to_json_bytes (line 34) | def to_json_bytes(obj: Any) -> bytes: function int_time (line 44) | def int_time(scale: int = 1) -> int: function strip_html (line 53) | def strip_html(txt: str) -> str: function strip_html_media (line 60) | def strip_html_media(txt: str) -> str: function html_to_text_line (line 70) | def html_to_text_line(txt: str) -> str: function ids2str (line 82) | def ids2str(ids: Iterable[int | str]) -> str: function timestamp_id (line 87) | def timestamp_id(db: DBProxy, table: str) -> int: function max_id (line 97) | def max_id(db: DBProxy) -> int: function base62 (line 106) | def base62(num: int, extra: str = "") -> str: function base91 (line 118) | def base91(num: int) -> str: function guid64 (line 123) | def guid64() -> str: function join_fields (line 132) | def join_fields(list: list[str]) -> str: function split_fields (line 136) | def split_fields(string: str) -> list[str]: function checksum (line 144) | def checksum(data: bytes | str) -> str: function field_checksum (line 150) | def field_checksum(data: str) -> int: function tmpdir (line 161) | def tmpdir() -> str: function tmpfile (line 181) | def tmpfile(prefix: str = "", suffix: str = "") -> str: function namedtmp (line 187) | def namedtmp(name: str, remove: bool = True) -> str: function no_bundled_libs (line 203) | def no_bundled_libs() -> Iterator[None]: function call (line 210) | def call(argv: list[str], wait: bool = True, **kwargs: Any) -> int: function invalid_filename (line 259) | def invalid_filename(str: str, dirsep: bool = True) -> str | None: function plat_desc (line 272) | def plat_desc() -> str: function version_with_build (line 300) | def version_with_build() -> str: function int_version (line 306) | def int_version() -> int: function int_version_to_str (line 330) | def int_version_to_str(ver: int) -> str: function __getattr__ (line 361) | def __getattr__(name: str) -> Any: FILE: pylib/hatch_build.py class CustomBuildHook (line 13) | class CustomBuildHook(BuildHookInterface): method initialize (line 18) | def initialize(self, version: str, build_data: Dict[str, Any]) -> None: method _should_exclude (line 44) | def _should_exclude(self, path: Path) -> bool: FILE: pylib/rsbridge/build.rs function main (line 4) | fn main() { FILE: pylib/rsbridge/lib.rs type Backend (line 15) | struct Backend { method command (line 49) | fn command( method db_command (line 67) | fn db_command(&self, py: Python, input: &Bound<'_, PyBytes>) -> PyResu... function buildhash (line 22) | fn buildhash() -> &'static str { function initialize_logging (line 28) | fn initialize_logging(path: Option<&str>) -> PyResult<()> { function syncserver (line 33) | fn syncserver() -> PyResult<()> { function open_backend (line 40) | fn open_backend(init_msg: &Bound<'_, PyBytes>) -> PyResult { function _rsbridge (line 84) | fn _rsbridge(_py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> { FILE: pylib/tests/shared.py function adjusted_time (line 18) | def adjusted_time(): function assertException (line 26) | def assertException(exception, func): function getEmptyCol (line 40) | def getEmptyCol(): function getEmptyDeckWith (line 56) | def getEmptyDeckWith(**kwargs): function getUpgradeDeckPath (line 63) | def getUpgradeDeckPath(name="anki12.anki"): function errorsAfterMidnight (line 73) | def errorsAfterMidnight(func): function isNearCutoff (line 84) | def isNearCutoff(): FILE: pylib/tests/test_cards.py function test_delete (line 9) | def test_delete(): function test_misc (line 25) | def test_misc(): function test_genrem (line 36) | def test_genrem(): function test_gendeck (line 68) | def test_gendeck(): FILE: pylib/tests/test_collection.py function test_create_open (line 18) | def test_create_open(): function test_noteAddDelete (line 50) | def test_noteAddDelete(): function test_fieldChecksum (line 89) | def test_fieldChecksum(): function test_addDelTags (line 102) | def test_addDelTags(): function test_timestamps (line 123) | def test_timestamps(): function test_furigana (line 131) | def test_furigana(): function test_translate (line 153) | def test_translate(): function test_db_named_args (line 165) | def test_db_named_args(capsys): FILE: pylib/tests/test_decks.py function test_basic (line 10) | def test_basic(): function test_remove (line 45) | def test_remove(): function test_rename (line 64) | def test_rename(): FILE: pylib/tests/test_exporting.py function getEmptyCol (line 16) | def getEmptyCol(): function setup1 (line 26) | def setup1(): function test_export_anki (line 47) | def test_export_anki(): function test_export_ankipkg (line 89) | def test_export_ankipkg(): function test_export_anki_due (line 106) | def test_export_anki_due(): function test_export_textnote (line 147) | def test_export_textnote(): function test_exporters (line 164) | def test_exporters(): FILE: pylib/tests/test_find.py class DummyCollection (line 12) | class DummyCollection: method weakref (line 13) | def weakref(self): function test_find_cards (line 17) | def test_find_cards(): function test_findReplace (line 235) | def test_findReplace(): function test_findDupes (line 285) | def test_findDupes(): FILE: pylib/tests/test_flags.py function test_flags (line 7) | def test_flags(): FILE: pylib/tests/test_importing.py function clear_tempfile (line 23) | def clear_tempfile(tf): function test_anki2_mediadupes (line 32) | def test_anki2_mediadupes(): function test_apkg (line 78) | def test_apkg(): function test_anki2_diffmodel_templates (line 99) | def test_anki2_diffmodel_templates(): function test_anki2_updates (line 121) | def test_anki2_updates(): function test_csv (line 149) | def test_csv(): function test_csv2 (line 184) | def test_csv2(): function test_tsv_tag_modified (line 208) | def test_tsv_tag_modified(): function test_tsv_tag_multiple_tags (line 244) | def test_tsv_tag_multiple_tags(): function test_csv_tag_only_if_modified (line 278) | def test_csv_tag_only_if_modified(): function test_mnemo (line 308) | def test_mnemo(): FILE: pylib/tests/test_latex.py function test_latex (line 14) | def test_latex(): FILE: pylib/tests/test_media.py function test_add (line 13) | def test_add(): function test_strings (line 31) | def test_strings(): function test_deckIntegration (line 60) | def test_deckIntegration(): FILE: pylib/tests/test_models.py function encode_attribute (line 15) | def encode_attribute(s): function test_modelDelete (line 21) | def test_modelDelete(): function test_modelCopy (line 32) | def test_modelCopy(): function test_fields (line 46) | def test_fields(): function test_templates (line 93) | def test_templates(): function test_cloze_ordinals (line 140) | def test_cloze_ordinals(): function test_text (line 164) | def test_text(): function test_cloze (line 175) | def test_cloze(): function test_cloze_mathjax (line 247) | def test_cloze_mathjax(): function test_typecloze (line 301) | def test_typecloze(): function test_chained_mods (line 312) | def test_chained_mods(): function test_modelChange (line 351) | def test_modelChange(): function test_req (line 434) | def test_req(): FILE: pylib/tests/test_schedv3.py function getEmptyCol (line 20) | def getEmptyCol(): function test_clock (line 25) | def test_clock(): function test_basics (line 31) | def test_basics(): function test_new (line 36) | def test_new(): function test_newLimits (line 80) | def test_newLimits(): function test_newBoxes (line 112) | def test_newBoxes(): function test_learn (line 128) | def test_learn(): function test_relearn (line 187) | def test_relearn(): function test_relearn_no_steps (line 213) | def test_relearn_no_steps(): function test_learn_collapsed (line 235) | def test_learn_collapsed(): function test_learn_day (line 261) | def test_learn_day(): function test_reviews (line 324) | def test_reviews(): function review_limits_setup (line 391) | def review_limits_setup() -> tuple[anki.collection.Collection, dict]: function test_review_limits (line 428) | def test_review_limits(): function test_button_spacing (line 451) | def test_button_spacing(): function test_nextIvl (line 478) | def test_nextIvl(): function test_bury (line 543) | def test_bury(): function test_suspend (line 581) | def test_suspend(): function test_filt_reviewing_early_normal (line 627) | def test_filt_reviewing_early_normal(): function test_filt_keep_lrn_state (line 678) | def test_filt_keep_lrn_state(): function test_preview (line 721) | def test_preview(): function test_ordcycle (line 768) | def test_ordcycle(): function test_counts_idx_new (line 800) | def test_counts_idx_new(): function test_repCounts (line 825) | def test_repCounts(): function test_timing (line 878) | def test_timing(): function test_collapse (line 903) | def test_collapse(): function test_deckDue (line 930) | def test_deckDue(): function test_deckTree (line 981) | def test_deckTree(): function test_deckFlow (line 991) | def test_deckFlow(): function test_reorder (line 1019) | def test_reorder(): function test_forget (line 1063) | def test_forget(): function test_resched (line 1079) | def test_resched(): function test_norelearn (line 1097) | def test_norelearn(): function test_failmult (line 1118) | def test_failmult(): function test_negativeDueFilter (line 1146) | def test_negativeDueFilter(): function test_initial_repeat (line 1171) | def test_initial_repeat(): FILE: pylib/tests/test_stats.py function test_stats (line 11) | def test_stats(): function test_graphs_empty (line 27) | def test_graphs_empty(): function test_graphs (line 32) | def test_graphs(): FILE: pylib/tests/test_template.py function test_deferred_frontside (line 7) | def test_deferred_frontside(): FILE: pylib/tests/test_utils.py function test_int_version_to_str (line 7) | def test_int_version_to_str(): FILE: pylib/tools/hookslib.py class Hook (line 21) | class Hook: method callable (line 40) | def callable(self) -> str: method arg_names (line 50) | def arg_names(self, args: list[str] | None) -> list[str]: method full_name (line 59) | def full_name(self) -> str: method kind (line 62) | def kind(self) -> str: method classname (line 68) | def classname(self) -> str: method list_code (line 71) | def list_code(self) -> str: method code (line 76) | def code(self) -> str: method fire_code (line 102) | def fire_code(self) -> str: method legacy_args (line 110) | def legacy_args(self) -> str: method replaced_args (line 117) | def replaced_args(self) -> str: method hook_fire_code (line 121) | def hook_fire_code(self) -> str: method filter_fire_code (line 157) | def filter_fire_code(self) -> str: function write_file (line 198) | def write_file(path: str, hooks: list[Hook], prefix: str, suffix: str): FILE: qt/aqt/__init__.py class DialogManager (line 125) | class DialogManager: method open (line 139) | def open(self, name: str, *args: Any, **kwargs: Any) -> Any: method markClosed (line 156) | def markClosed(self, name: str) -> None: method allClosed (line 159) | def allClosed(self) -> bool: method closeAll (line 162) | def closeAll(self, onsuccess: Callable[[], None]) -> bool | None: method register_dialog (line 188) | def register_dialog( function setupLangAndBackend (line 230) | def setupLangAndBackend( class NativeEventFilter (line 290) | class NativeEventFilter(QAbstractNativeEventFilter): method nativeEventFilter (line 291) | def nativeEventFilter( class AnkiApp (line 307) | class AnkiApp(QApplication): method __init__ (line 316) | def __init__(self, argv: list[str]) -> None: method _set_windows_shutdown_block_reason (line 324) | def _set_windows_shutdown_block_reason(self, reason: str) -> None: method _unset_windows_shutdown_block_reason (line 335) | def _unset_windows_shutdown_block_reason(self) -> None: method secondInstance (line 344) | def secondInstance(self) -> bool: method sendMsg (line 363) | def sendMsg(self, txt: str) -> bool: method onRecv (line 382) | def onRecv(self) -> None: method event (line 396) | def event(self, evt: QEvent | None) -> bool: method eventFilter (line 407) | def eventFilter(self, src: Any, evt: QEvent | None) -> bool: function parseArgs (line 453) | def parseArgs(argv: list[str]) -> tuple[argparse.Namespace, list[str]]: function setupGL (line 478) | def setupGL(pm: aqt.profiles.ProfileManager) -> None: function write_profile_results (line 570) | def write_profile_results() -> None: function run (line 578) | def run() -> None: function _run (line 591) | def _run(argv: list[str] | None = None, exec: bool = True) -> AnkiApp | ... FILE: qt/aqt/about.py class ClosableQDialog (line 15) | class ClosableQDialog(QDialog): method reject (line 16) | def reject(self) -> None: method accept (line 20) | def accept(self) -> None: method closeWithCallback (line 24) | def closeWithCallback(self, callback: Callable[[], None]) -> None: function show (line 29) | def show(mw: aqt.AnkiQt) -> QDialog: FILE: qt/aqt/addcards.py class AddCards (line 37) | class AddCards(QMainWindow): method __init__ (line 38) | def __init__(self, mw: AnkiQt) -> None: method set_deck (line 62) | def set_deck(self, deck_id: DeckId) -> None: method set_note_type (line 65) | def set_note_type(self, note_type_id: NotetypeId) -> None: method set_note (line 68) | def set_note(self, note: Note, deck_id: DeckId | None = None) -> None: method setupEditor (line 83) | def setupEditor(self) -> None: method setup_choosers (line 91) | def setup_choosers(self) -> None: method reopen (line 110) | def reopen(self, mw: AnkiQt) -> None: method helpRequested (line 120) | def helpRequested(self) -> None: method setupButtons (line 123) | def setupButtons(self) -> None: method setAndFocusNote (line 156) | def setAndFocusNote(self, note: Note) -> None: method show_notetype_selector (line 159) | def show_notetype_selector(self) -> None: method on_deck_changed (line 162) | def on_deck_changed(self, deck_id: int) -> None: method on_notetype_change (line 165) | def on_notetype_change( method _load_new_note (line 218) | def _load_new_note(self, sticky_fields_from: Note | None = None) -> None: method on_operation_did_execute (line 231) | def on_operation_did_execute( method _new_note (line 244) | def _new_note(self) -> Note: method addHistory (line 249) | def addHistory(self, note: Note) -> None: method onHistory (line 254) | def onHistory(self) -> None: method editHistory (line 276) | def editHistory(self, nid: NoteId) -> None: method add_current_note (line 279) | def add_current_note(self) -> None: method _add_current_note (line 287) | def _add_current_note(self) -> None: method _note_can_be_added (line 314) | def _note_can_be_added(self, note: Note) -> bool: method keyPressEvent (line 344) | def keyPressEvent(self, evt: QKeyEvent) -> None: method closeEvent (line 350) | def closeEvent(self, evt: QCloseEvent) -> None: method _close (line 357) | def _close(self) -> None: method ifCanClose (line 369) | def ifCanClose(self, onOk: Callable) -> None: method closeWithCallback (line 389) | def closeWithCallback(self, cb: Callable[[], None]) -> None: method deckChooser (line 399) | def deckChooser(self) -> DeckChooser: method addNote (line 411) | def addNote(self, note: Note) -> None: method removeTempNote (line 415) | def removeTempNote(self, note: Note) -> None: FILE: qt/aqt/addons.py class AbortAddonImport (line 63) | class AbortAddonImport(Exception): class InstallOk (line 69) | class InstallOk: class InstallError (line 76) | class InstallError: class DownloadOk (line 81) | class DownloadOk: class DownloadError (line 91) | class DownloadError: class AddonMeta (line 108) | class AddonMeta: method human_name (line 121) | def human_name(self) -> str: method ankiweb_id (line 124) | def ankiweb_id(self) -> int | None: method compatible (line 131) | def compatible(self) -> bool: method is_latest (line 140) | def is_latest(self, server_update_time: int) -> bool: method page (line 143) | def page(self) -> str | None: method from_json_meta (line 149) | def from_json_meta(dir_name: str, json_meta: dict[str, Any]) -> AddonM... function package_name_valid (line 165) | def package_name_valid(name: str) -> bool: class AddonManager (line 179) | class AddonManager: method __init__ (line 208) | def __init__(self, mw: aqt.main.AnkiQt) -> None: method allAddons (line 216) | def allAddons(self) -> list[str]: method all_addon_meta (line 228) | def all_addon_meta(self) -> Iterable[AddonMeta]: method addonsFolder (line 231) | def addonsFolder(self, module: str | None = None) -> str: method loadAddons (line 237) | def loadAddons(self) -> None: method onAddonsDialog (line 304) | def onAddonsDialog(self) -> None: method addon_meta (line 310) | def addon_meta(self, dir_name: str) -> AddonMeta: method write_addon_meta (line 315) | def write_addon_meta(self, addon: AddonMeta) -> None: method _addonMetaPath (line 333) | def _addonMetaPath(self, module: str) -> str: method addonMeta (line 337) | def addonMeta(self, module: str) -> dict[str, Any]: method writeAddonMeta (line 350) | def writeAddonMeta(self, module: str, meta: dict[str, Any]) -> None: method toggleEnabled (line 355) | def toggleEnabled(self, module: str, enable: bool | None = None) -> None: method ankiweb_addons (line 373) | def ankiweb_addons(self) -> list[int]: method isEnabled (line 383) | def isEnabled(self, module: str) -> bool: method addonName (line 386) | def addonName(self, module: str) -> str: method addonConflicts (line 389) | def addonConflicts(self, module: str) -> list[str]: method annotatedName (line 392) | def annotatedName(self, module: str) -> str: method allAddonConflicts (line 402) | def allAddonConflicts(self) -> dict[str, list[str]]: method _disableConflicting (line 411) | def _disableConflicting( method readManifestFile (line 432) | def readManifestFile(self, zfile: ZipFile) -> dict[Any, Any]: method install (line 445) | def install( method _install (line 493) | def _install(self, module: str, zfile: ZipFile) -> None: method deleteAddon (line 518) | def deleteAddon(self, module: str) -> None: method processPackages (line 524) | def processPackages( method _installationErrorReport (line 555) | def _installationErrorReport( method _installationSuccessReport (line 572) | def _installationSuccessReport( method update_supported_versions (line 598) | def update_supported_versions(self, items: list[AddonInfo]) -> None: method get_updated_addons (line 622) | def get_updated_addons(self, items: list[AddonInfo]) -> list[AddonInfo]: method addonConfigDefaults (line 645) | def addonConfigDefaults(self, module: str) -> dict[str, Any] | None: method set_config_help_action (line 653) | def set_config_help_action(self, module: str, action: Callable[[], str... method addonConfigHelp (line 658) | def addonConfigHelp(self, module: str) -> str: method addonFromModule (line 671) | def addonFromModule(self, module: str) -> str: # softly deprecated method addon_from_module (line 675) | def addon_from_module(module: str) -> str: method configAction (line 678) | def configAction(self, module: str) -> Callable[[], bool | None]: method configUpdatedAction (line 681) | def configUpdatedAction(self, module: str) -> Callable[[Any], None]: method _addon_schema_path (line 687) | def _addon_schema_path(self, module: str) -> str: method _addon_schema (line 690) | def _addon_schema(self, module: str) -> Any: method getConfig (line 705) | def getConfig(self, module: str) -> dict[str, Any] | None: method setConfigAction (line 717) | def setConfigAction(self, module: str, fn: Callable[[], bool | None]) ... method setConfigUpdatedAction (line 721) | def setConfigUpdatedAction(self, module: str, fn: Callable[[Any], None... method writeConfig (line 725) | def writeConfig(self, module: str, conf: dict) -> None: method _userFilesPath (line 734) | def _userFilesPath(self, sid: str) -> str: method _userFilesBackupPath (line 737) | def _userFilesBackupPath(self) -> str: method backupUserFiles (line 740) | def backupUserFiles(self, module: str) -> None: method restoreUserFiles (line 746) | def restoreUserFiles(self, sid: str) -> None: method setWebExports (line 759) | def setWebExports(self, module: str, pattern: str) -> None: method getWebExports (line 763) | def getWebExports(self, module: str) -> str: method get_logger (line 770) | def get_logger(cls, module: str) -> logging.Logger: method has_logger (line 780) | def has_logger(self, module: str) -> bool: method is_debug_logging_enabled (line 783) | def is_debug_logging_enabled(self, module: str) -> bool: method toggle_debug_logging (line 788) | def toggle_debug_logging(self, module: str, enable: bool) -> None: method logs_folder (line 793) | def logs_folder(self, module: str) -> Path: class AddonsDialog (line 803) | class AddonsDialog(QDialog): method __init__ (line 804) | def __init__(self, addonsManager: AddonManager) -> None: method dragEnterEvent (line 835) | def dragEnterEvent(self, event: QDragEnterEvent) -> None: method dropEvent (line 844) | def dropEvent(self, event: QDropEvent) -> None: method reject (line 853) | def reject(self) -> None: method name_for_addon_list (line 863) | def name_for_addon_list(self, addon: AddonMeta) -> str: method compatible_string (line 873) | def compatible_string(self, addon: AddonMeta) -> str: method should_grey (line 883) | def should_grey(self, addon: AddonMeta) -> bool: method redrawAddons (line 886) | def redrawAddons( method _onAddonSelectionChanged (line 908) | def _onAddonSelectionChanged(self) -> None: method _onAddonItemSelected (line 929) | def _onAddonItemSelected(self, row_int: int) -> None: method selectedAddons (line 937) | def selectedAddons(self) -> list[str]: method onlyOneSelected (line 941) | def onlyOneSelected(self) -> str | None: method selected_addon_meta (line 948) | def selected_addon_meta(self) -> AddonMeta | None: method onToggleEnabled (line 955) | def onToggleEnabled(self) -> None: method onViewPage (line 961) | def onViewPage(self) -> None: method onViewFiles (line 968) | def onViewFiles(self) -> None: method onDelete (line 982) | def onDelete(self) -> None: method onGetAddons (line 1003) | def onGetAddons(self) -> None: method after_downloading (line 1010) | def after_downloading(self, log: list[DownloadLogEntry]) -> None: method onInstallFiles (line 1017) | def onInstallFiles(self, paths: list[str] | None = None) -> bool | None: method check_for_updates (line 1034) | def check_for_updates(self) -> None: method onConfig (line 1038) | def onConfig(self) -> None: class GetAddons (line 1062) | class GetAddons(QDialog): method __init__ (line 1063) | def __init__(self, dlg: AddonsDialog) -> None: method onBrowse (line 1080) | def onBrowse(self) -> None: method accept (line 1083) | def accept(self) -> None: function download_addon (line 1104) | def download_addon(client: HttpClient, id: int) -> DownloadOk | Download... class ExtractedDownloadMeta (line 1134) | class ExtractedDownloadMeta: function extract_meta_from_download_url (line 1141) | def extract_meta_from_download_url(url: str) -> ExtractedDownloadMeta: function download_log_to_html (line 1158) | def download_log_to_html(log: list[DownloadLogEntry]) -> str: function describe_log_entry (line 1162) | def describe_log_entry(id_and_entry: DownloadLogEntry) -> str: function download_encountered_problem (line 1186) | def download_encountered_problem(log: list[DownloadLogEntry]) -> bool: function download_and_install_addon (line 1190) | def download_and_install_addon( class DownloaderInstaller (line 1219) | class DownloaderInstaller(QObject): method __init__ (line 1222) | def __init__(self, parent: QWidget, mgr: AddonManager, client: HttpCli... method download (line 1233) | def download( method _progress_callback (line 1254) | def _progress_callback(self, up: int, down: int) -> None: method _download_all (line 1264) | def _download_all(self, force_enable: bool = False) -> None: method _download_done (line 1272) | def _download_done(self, future: Future) -> None: function show_log_to_user (line 1280) | def show_log_to_user( function download_addons (line 1297) | def download_addons( class ChooseAddonsToUpdateList (line 1315) | class ChooseAddonsToUpdateList(QListWidget): method __init__ (line 1318) | def __init__( method setup (line 1335) | def setup(self) -> None: method bool_to_check (line 1360) | def bool_to_check(self, check_bool: bool) -> Qt.CheckState: method checked (line 1366) | def checked(self, item: QListWidgetItem) -> bool: method on_click (line 1369) | def on_click(self, item: QListWidgetItem) -> None: method on_check (line 1376) | def on_check(self, item: QListWidgetItem) -> None: method on_double_click (line 1382) | def on_double_click(self, item: QListWidgetItem) -> None: method on_context_menu (line 1388) | def on_context_menu(self, point: QPoint) -> None: method check_item (line 1397) | def check_item(self, item: QListWidgetItem, check: Qt.CheckState) -> N... method header_checked (line 1403) | def header_checked(self, check: Qt.CheckState) -> None: method refresh_header_check_state (line 1407) | def refresh_header_check_state(self) -> None: method get_selected_addon_ids (line 1415) | def get_selected_addon_ids(self) -> list[int]: method save_check_state (line 1424) | def save_check_state(self) -> None: class ChooseAddonsToUpdateDialog (line 1433) | class ChooseAddonsToUpdateDialog(QDialog): method __init__ (line 1436) | def __init__( method setup (line 1447) | def setup(self) -> None: method ask (line 1470) | def ask(self, on_done: Callable[[list[int]], None]) -> None: method accept (line 1474) | def accept(self) -> None: function fetch_update_info (line 1481) | def fetch_update_info(ids: list[int]) -> list[AddonInfo]: function _fetch_update_info_batch (line 1496) | def _fetch_update_info_batch(chunk: Iterable[int]) -> Sequence[AddonInfo]: function check_and_prompt_for_updates (line 1502) | def check_and_prompt_for_updates( function check_for_updates (line 1514) | def check_for_updates( function handle_update_info (line 1542) | def handle_update_info( function prompt_to_update (line 1559) | def prompt_to_update( function install_or_update_addon (line 1582) | def install_or_update_addon( class ConfigEditor (line 1612) | class ConfigEditor(QDialog): method __init__ (line 1613) | def __init__(self, dlg: AddonsDialog, addon: str, conf: dict) -> None: method onRestoreDefaults (line 1642) | def onRestoreDefaults(self) -> None: method setupFonts (line 1647) | def setupFonts(self) -> None: method updateHelp (line 1654) | def updateHelp(self) -> None: method updateText (line 1661) | def updateText(self, conf: dict[str, Any]) -> None: method onClose (line 1674) | def onClose(self) -> None: method reject (line 1678) | def reject(self) -> None: method accept (line 1682) | def accept(self) -> None: function installAddonPackages (line 1734) | def installAddonPackages( FILE: qt/aqt/ankihub.py function ankihub_login (line 33) | def ankihub_login( function ankihub_logout (line 70) | def ankihub_logout( function get_id_and_pass_from_user (line 88) | def get_id_and_pass_from_user( function install_ankihub_addon (line 150) | def install_ankihub_addon(parent: QWidget, mgr: AddonManager) -> None: FILE: qt/aqt/browser/browser.py class MockModel (line 93) | class MockModel: method __init__ (line 96) | def __init__(self, browser: aqt.browser.Browser) -> None: method beginReset (line 100) | def beginReset(self) -> None: method endReset (line 104) | def endReset(self) -> None: method reset (line 108) | def reset(self) -> None: class Browser (line 113) | class Browser(QMainWindow): method __init__ (line 119) | def __init__( method on_operation_did_execute (line 183) | def on_operation_did_execute( method on_focus_change (line 214) | def on_focus_change(self, new: QWidget | None, old: QWidget | None) ->... method set_layout (line 220) | def set_layout(self, mode: BrowserLayout, init: bool = False) -> None: method maybe_update_layout (line 249) | def maybe_update_layout(self, aspect_ratio: float, force: bool = False... method resizeEvent (line 256) | def resizeEvent(self, event: QResizeEvent | None) -> None: method get_active_note_type_id (line 269) | def get_active_note_type_id(self) -> NotetypeId | None: method add_card (line 279) | def add_card(self, deck_id: DeckId): method _handle_close (line 289) | def _handle_close(self): method setupMenus (line 299) | def setupMenus(self) -> None: method _editor_web_view (line 405) | def _editor_web_view(self) -> EditorWebView: method closeEvent (line 411) | def closeEvent(self, evt: QCloseEvent | None) -> None: method _closeWindow (line 423) | def _closeWindow(self) -> None: method closeWithCallback (line 442) | def closeWithCallback(self, onsuccess: Callable) -> None: method keyPressEvent (line 446) | def keyPressEvent(self, evt: QKeyEvent | None) -> None: method reopen (line 454) | def reopen( method setupSearch (line 473) | def setupSearch( method onSearchActivated (line 498) | def onSearchActivated(self) -> None: method search_for (line 510) | def search_for(self, search: str, prompt: str | None = None) -> None: method current_search (line 522) | def current_search(self) -> str: method search (line 525) | def search(self) -> None: method update_history (line 533) | def update_history(self) -> None: method updateTitle (line 545) | def updateTitle(self) -> None: method search_for_terms (line 557) | def search_for_terms(self, *search_terms: str | SearchNode) -> None: method _default_search (line 562) | def _default_search(self, card: Card | None = None) -> None: method onReset (line 574) | def onReset(self) -> None: method begin_reset (line 580) | def begin_reset(self) -> None: method end_reset (line 587) | def end_reset(self) -> None: method setup_table (line 594) | def setup_table(self) -> None: method setupEditor (line 604) | def setupEditor(self) -> None: method on_all_or_selected_rows_changed (line 620) | def on_all_or_selected_rows_changed(self) -> None: method onRowChanged (line 654) | def onRowChanged(self, *args: Any) -> None: method on_current_row_changed (line 657) | def on_current_row_changed(self) -> None: method _update_row_actions (line 665) | def _update_row_actions(self) -> None: method _update_selection_actions (line 672) | def _update_selection_actions(self) -> None: method _update_current_actions (line 689) | def _update_current_actions(self) -> None: method on_table_state_changed (line 700) | def on_table_state_changed(self, checked: bool) -> None: method setupSidebar (line 716) | def setupSidebar(self) -> None: method showSidebar (line 753) | def showSidebar(self, show: bool = True) -> None: method onSidebarVisibilityChange (line 756) | def onSidebarVisibilityChange(self, visible): method focusSidebar (line 767) | def focusSidebar(self) -> None: method focusSidebarSearchBar (line 771) | def focusSidebarSearchBar(self) -> None: method toggle_sidebar (line 775) | def toggle_sidebar(self) -> None: method setFilter (line 780) | def setFilter(self, *terms: str) -> None: method showCardInfo (line 786) | def showCardInfo(self) -> None: method _update_card_info (line 789) | def _update_card_info(self) -> None: method selected_cards (line 795) | def selected_cards(self) -> Sequence[CardId]: method selected_notes (line 798) | def selected_notes(self) -> Sequence[NoteId]: method selectedNotesAsCards (line 801) | def selectedNotesAsCards(self) -> Sequence[CardId]: method onHelp (line 804) | def onHelp(self) -> None: method on_create_copy (line 815) | def on_create_copy(self) -> None: method onChangeModel (line 826) | def onChangeModel(self) -> None: method createFilteredDeck (line 830) | def createFilteredDeck(self) -> None: method onTogglePreview (line 840) | def onTogglePreview(self) -> None: method _renderPreview (line 850) | def _renderPreview(self) -> None: method toggle_preview_button_state (line 857) | def toggle_preview_button_state(self, active: bool) -> None: method _cleanup_preview (line 863) | def _cleanup_preview(self) -> None: method _on_preview_closed (line 868) | def _on_preview_closed(self) -> None: method delete_selected_notes (line 878) | def delete_selected_notes(self) -> None: method set_deck_of_selected_cards (line 901) | def set_deck_of_selected_cards(self) -> None: method add_tags_to_selected_notes (line 944) | def add_tags_to_selected_notes( method remove_tags_from_selected_notes (line 962) | def remove_tags_from_selected_notes(self, tags: str | None = None) -> ... method _prompt_for_tags (line 973) | def _prompt_for_tags(self, prompt: str) -> str | None: method clear_unused_tags (line 982) | def clear_unused_tags(self) -> None: method _update_toggle_suspend_action (line 992) | def _update_toggle_suspend_action(self) -> None: method suspend_selected_cards (line 1000) | def suspend_selected_cards(self, checked: bool) -> None: method _update_toggle_bury_action (line 1010) | def _update_toggle_bury_action(self) -> None: method bury_selected_cards (line 1020) | def bury_selected_cards(self, checked: bool) -> None: method _on_export_notes (line 1032) | def _on_export_notes(self) -> None: method set_flag_of_selected_cards (line 1045) | def set_flag_of_selected_cards(self, flag: int) -> None: method _update_flags_menu (line 1057) | def _update_flags_menu(self) -> None: method _update_flag_labels (line 1066) | def _update_flag_labels(self) -> None: method toggle_mark_of_selected_notes (line 1070) | def toggle_mark_of_selected_notes(self, checked: bool) -> None: method _update_toggle_mark_action (line 1076) | def _update_toggle_mark_action(self) -> None: method reposition (line 1088) | def reposition(self) -> None: method set_due_date (line 1097) | def set_due_date(self) -> None: method forget_cards (line 1108) | def forget_cards(self) -> None: method grade_now (line 1119) | def grade_now(self) -> None: method selectNotes (line 1162) | def selectNotes(self) -> None: method setupHooks (line 1175) | def setupHooks(self) -> None: method teardownHooks (line 1184) | def teardownHooks(self) -> None: method _on_temporary_close (line 1193) | def _on_temporary_close(self, col: Collection) -> None: method undo (line 1200) | def undo(self) -> None: method redo (line 1203) | def redo(self) -> None: method on_undo_state_change (line 1206) | def on_undo_state_change(self, info: UndoActionsInfo) -> None: method onFindReplace (line 1218) | def onFindReplace(self) -> None: method onFindDupes (line 1226) | def onFindDupes(self) -> None: method has_previous_card (line 1234) | def has_previous_card(self) -> bool: method has_next_card (line 1237) | def has_next_card(self) -> bool: method onPreviousCard (line 1240) | def onPreviousCard(self) -> None: method onNextCard (line 1246) | def onNextCard(self) -> None: method onFirstCard (line 1252) | def onFirstCard(self) -> None: method onLastCard (line 1255) | def onLastCard(self) -> None: method onFind (line 1258) | def onFind(self) -> None: method onNote (line 1262) | def onNote(self) -> None: method onCardList (line 1271) | def onCardList(self) -> None: method _line_edit (line 1274) | def _line_edit(self) -> QLineEdit: FILE: qt/aqt/browser/card_info.py class CardInfoDialog (line 28) | class CardInfoDialog(QDialog): method __init__ (line 33) | def __init__( method _setup_ui (line 51) | def _setup_ui(self, card_id: CardId | None) -> None: method copy_card_info (line 77) | def copy_card_info(self, card_id: CardId | None) -> None: method update_card (line 125) | def update_card(self, card_id: CardId | None) -> None: method reject (line 134) | def reject(self) -> None: class CardInfoManager (line 144) | class CardInfoManager: method __init__ (line 147) | def __init__(self, mw: aqt.AnkiQt, geometry_key: str, window_title: str): method show (line 154) | def show(self) -> None: method set_card (line 168) | def set_card(self, card: Card | None) -> None: method close (line 173) | def close(self) -> None: method _on_close (line 177) | def _on_close(self) -> None: class BrowserCardInfo (line 181) | class BrowserCardInfo(CardInfoManager): method __init__ (line 182) | def __init__(self, mw: aqt.AnkiQt): class ReviewerCardInfo (line 192) | class ReviewerCardInfo(CardInfoManager): method __init__ (line 193) | def __init__(self, mw: aqt.AnkiQt): class PreviousReviewerCardInfo (line 203) | class PreviousReviewerCardInfo(CardInfoManager): method __init__ (line 204) | def __init__(self, mw: aqt.AnkiQt): FILE: qt/aqt/browser/find_and_replace.py class FindAndReplaceDialog (line 35) | class FindAndReplaceDialog(QDialog): method __init__ (line 38) | def __init__( method _show (line 68) | def _show(self, field_names: Sequence[str]) -> None: method accept (line 118) | def accept(self) -> None: method show_help (line 178) | def show_help(self) -> None: FILE: qt/aqt/browser/find_duplicates.py class FindDuplicatesDialog (line 33) | class FindDuplicatesDialog(QDialog): method __init__ (line 34) | def __init__(self, browser: Browser, mw: aqt.AnkiQt): method show_duplicates_report (line 83) | def show_duplicates_report(self, dupes: list[tuple[str, list[NoteId]]]... method _tag_duplicates (line 118) | def _tag_duplicates(self) -> None: method _on_duplicate_clicked (line 132) | def _on_duplicate_clicked(self, link: str) -> None: FILE: qt/aqt/browser/layout.py class BrowserLayout (line 11) | class BrowserLayout(Enum): class QSplitterHandleEventFilter (line 17) | class QSplitterHandleEventFilter(QObject): method __init__ (line 20) | def __init__(self, splitter: QSplitter): method eventFilter (line 24) | def eventFilter(self, object: QObject | None, event: QEvent | None) ->... FILE: qt/aqt/browser/previewer.py class Previewer (line 37) | class Previewer(QDialog): method __init__ (line 44) | def __init__( method card (line 60) | def card(self) -> Card | None: method card_changed (line 63) | def card_changed(self) -> bool: method open (line 66) | def open(self) -> None: method _create_gui (line 75) | def _create_gui(self) -> None: method _on_finished (line 119) | def _on_finished(self, ok: int) -> None: method _on_replay_audio (line 123) | def _on_replay_audio(self) -> None: method _on_close (line 135) | def _on_close(self) -> None: method _setup_web_view (line 144) | def _setup_web_view(self) -> None: method _on_bridge_cmd (line 161) | def _on_bridge_cmd(self, cmd: str) -> Any: method _update_flag_and_mark_icons (line 168) | def _update_flag_and_mark_icons(self, card: Card | None) -> None: method render_card (line 180) | def render_card(self) -> None: method cancel_timer (line 195) | def cancel_timer(self) -> None: method _render_scheduled (line 200) | def _render_scheduled(self) -> None: method _on_show_both_sides (line 272) | def _on_show_both_sides(self, toggle: bool) -> None: method _state_and_mod (line 289) | def _state_and_mod(self) -> tuple[str, int, int]: method state (line 298) | def state(self) -> str: class MultiCardPreviewer (line 302) | class MultiCardPreviewer(Previewer): method card (line 303) | def card(self) -> Card | None: method card_changed (line 307) | def card_changed(self) -> bool: method _create_gui (line 311) | def _create_gui(self) -> None: method _on_prev (line 338) | def _on_prev(self) -> None: method _on_prev_card (line 345) | def _on_prev_card(self) -> None: method _on_next (line 348) | def _on_next(self) -> None: method _on_next_card (line 355) | def _on_next_card(self) -> None: method _updateButtons (line 358) | def _updateButtons(self) -> None: method _should_enable_prev (line 368) | def _should_enable_prev(self) -> bool: method _should_enable_next (line 371) | def _should_enable_next(self) -> bool: method _on_close (line 374) | def _on_close(self) -> None: class BrowserPreviewer (line 380) | class BrowserPreviewer(MultiCardPreviewer): method __init__ (line 384) | def __init__( method card (line 389) | def card(self) -> Card | None: method card_changed (line 397) | def card_changed(self) -> bool: method _on_prev_card (line 406) | def _on_prev_card(self) -> None: method _on_next_card (line 411) | def _on_next_card(self) -> None: method _should_enable_prev (line 416) | def _should_enable_prev(self) -> bool: method _should_enable_next (line 421) | def _should_enable_next(self) -> bool: method _render_scheduled (line 426) | def _render_scheduled(self) -> None: FILE: qt/aqt/browser/sidebar/item.py class SidebarItemType (line 12) | class SidebarItemType(Enum): method section_roots (line 37) | def section_roots() -> Iterable[SidebarItemType]: method is_section_root (line 40) | def is_section_root(self) -> bool: method is_editable (line 43) | def is_editable(self) -> bool: method can_be_added_to (line 51) | def can_be_added_to(self) -> bool: method is_deletable (line 54) | def is_deletable(self) -> bool: class SidebarItem (line 62) | class SidebarItem: method __init__ (line 63) | def __init__( method add_child (line 90) | def add_child(self, cb: SidebarItem) -> None: method add_simple (line 94) | def add_simple( method expanded (line 112) | def expanded(self) -> bool: method expanded (line 116) | def expanded(self, expanded: bool) -> None: method show_expanded (line 122) | def show_expanded(self, searching: bool) -> bool: method is_highlighted (line 130) | def is_highlighted(self) -> bool: method search (line 133) | def search(self, lowered_text: str) -> bool: method has_same_id (line 141) | def has_same_id(self, other: SidebarItem) -> bool: FILE: qt/aqt/browser/sidebar/model.py class SidebarModel (line 12) | class SidebarModel(QAbstractItemModel): method __init__ (line 13) | def __init__( method _cache_rows (line 21) | def _cache_rows(self, node: SidebarItem) -> None: method item_for_index (line 27) | def item_for_index(self, idx: QModelIndex) -> SidebarItem: method index_for_item (line 30) | def index_for_item(self, item: SidebarItem) -> QModelIndex: method search (line 34) | def search(self, text: str) -> bool: method rowCount (line 40) | def rowCount(self, parent: QModelIndex = QModelIndex()) -> int: method columnCount (line 47) | def columnCount(self, parent: QModelIndex = QModelIndex()) -> int: method index (line 50) | def index( method parent (line 65) | def parent(self, child: QModelIndex) -> QModelIndex: # type: ignore method data (line 80) | def data( method setData (line 102) | def setData( method supportedDropActions (line 107) | def supportedDropActions(self) -> Qt.DropAction: method flags (line 110) | def flags(self, index: QModelIndex) -> Qt.ItemFlag: FILE: qt/aqt/browser/sidebar/searchbar.py class SidebarSearchBar (line 12) | class SidebarSearchBar(QLineEdit): method __init__ (line 13) | def __init__(self, sidebar: aqt.browser.sidebar.SidebarTreeView) -> None: method onTextChanged (line 25) | def onTextChanged(self, text: str) -> None: method onSearch (line 29) | def onSearch(self) -> None: method keyPressEvent (line 32) | def keyPressEvent(self, evt: QKeyEvent | None) -> None: FILE: qt/aqt/browser/sidebar/toolbar.py class SidebarTool (line 17) | class SidebarTool(Enum): class SidebarToolbar (line 22) | class SidebarToolbar(QToolBar): method __init__ (line 36) | def __init__(self, sidebar: aqt.browser.sidebar.SidebarTreeView) -> None: method _setup_tools (line 47) | def _setup_tools(self) -> None: method _on_action_group_triggered (line 61) | def _on_action_group_triggered(self, action: QAction) -> None: method cleanup (line 65) | def cleanup(self) -> None: method _update_icons (line 68) | def _update_icons(self) -> None: FILE: qt/aqt/browser/sidebar/tree.py class SidebarStage (line 60) | class SidebarStage(Enum): class SidebarTreeView (line 75) | class SidebarTreeView(QTreeView): method __init__ (line 76) | def __init__(self, browser: aqt.browser.Browser) -> None: method _setup_style (line 106) | def _setup_style(self) -> None: method cleanup (line 119) | def cleanup(self) -> None: method tool (line 125) | def tool(self) -> SidebarTool: method tool (line 129) | def tool(self, tool: SidebarTool) -> None: method model (line 143) | def model(self) -> SidebarModel: method op_executed (line 149) | def op_executed( method refresh_if_needed (line 157) | def refresh_if_needed(self) -> None: method refresh (line 162) | def refresh(self, new_current: SidebarItem | None = None) -> None: method restore_current (line 201) | def restore_current(self, current: SidebarItem) -> None: method find_item (line 210) | def find_item( method search_for (line 225) | def search_for(self, text: str) -> None: method _expand_where_necessary (line 238) | def _expand_where_necessary( method update_search (line 272) | def update_search( method drawRow (line 306) | def drawRow( method dropEvent (line 319) | def dropEvent(self, event: QDropEvent | None) -> None: method mouseReleaseEvent (line 331) | def mouseReleaseEvent(self, event: QMouseEvent | None) -> None: method keyPressEvent (line 346) | def keyPressEvent(self, event: QKeyEvent | None) -> None: method _on_selection_changed (line 361) | def _on_selection_changed(self, _new: QItemSelection, _old: QItemSelec... method handle_drag_drop (line 385) | def handle_drag_drop(self, sources: list[SidebarItem], target: Sidebar... method _handle_drag_drop_decks (line 397) | def _handle_drag_drop_decks( method _handle_drag_drop_tags (line 416) | def _handle_drag_drop_tags( method _handle_drag_drop_saved_search (line 438) | def _handle_drag_drop_saved_search( method _on_search (line 448) | def _on_search(self, index: QModelIndex) -> None: method _on_rename (line 454) | def _on_rename(self, item: SidebarItem, text: str) -> bool: method _on_delete_key (line 470) | def _on_delete_key(self, index: QModelIndex) -> None: method _enable_delete (line 475) | def _enable_delete(self, item: SidebarItem) -> bool: method _on_add (line 480) | def _on_add(self, item: SidebarItem): method _on_delete (line 483) | def _on_delete(self, item: SidebarItem) -> None: method _on_expansion (line 491) | def _on_expansion(self, idx: QModelIndex) -> None: method _on_collapse (line 497) | def _on_collapse(self, idx: QModelIndex) -> None: method _root_tree (line 506) | def _root_tree(self) -> SidebarItem: method _build_stage (line 518) | def _build_stage(self, root: SidebarItem, stage: SidebarStage) -> None: method _section_root (line 538) | def _section_root( method _saved_searches_tree (line 569) | def _saved_searches_tree(self, root: SidebarItem) -> None: method _today_tree (line 593) | def _today_tree(self, root: SidebarItem) -> None: method _card_state_tree (line 663) | def _card_state_tree(self, root: SidebarItem) -> None: method _flags_tree (line 712) | def _flags_tree(self, root: SidebarItem) -> None: method _tag_tree (line 746) | def _tag_tree(self, root: SidebarItem) -> None: method _deck_tree (line 794) | def _deck_tree(self, root: SidebarItem) -> None: method _notetype_tree (line 849) | def _notetype_tree(self, root: SidebarItem) -> None: method onContextMenu (line 901) | def onContextMenu(self, point: QPoint) -> None: method show_context_menu (line 907) | def show_context_menu(self, item: SidebarItem, index: QModelIndex) -> ... method _maybe_add_type_specific_actions (line 923) | def _maybe_add_type_specific_actions(self, menu: QMenu, item: SidebarI... method _maybe_add_add_action (line 951) | def _maybe_add_add_action(self, menu: QMenu, item: SidebarItem) -> None: method _maybe_add_delete_action (line 955) | def _maybe_add_delete_action( method _maybe_add_rename_actions (line 961) | def _maybe_add_rename_actions( method _maybe_add_find_and_replace_action (line 975) | def _maybe_add_find_and_replace_action( method _maybe_add_search_actions (line 986) | def _maybe_add_search_actions(self, menu: QMenu) -> None: method _maybe_add_tree_actions (line 1006) | def _maybe_add_tree_actions(self, menu: QMenu) -> None: method _on_rename_with_parents (line 1041) | def _on_rename_with_parents(self, item: SidebarItem) -> None: method _on_find_and_replace (line 1075) | def _on_find_and_replace(self, item: SidebarItem) -> None: method rename_flag (line 1089) | def rename_flag(self, item: SidebarItem, new_name: str) -> None: method restore_default_flag_name (line 1093) | def restore_default_flag_name(self, item: SidebarItem) -> None: method rename_deck (line 1100) | def rename_deck(self, item: SidebarItem, new_name: str) -> None: method delete_decks (line 1113) | def delete_decks(self, _item: SidebarItem) -> None: method remove_tags (line 1121) | def remove_tags(self, item: SidebarItem) -> None: method rename_tag (line 1129) | def rename_tag(self, item: SidebarItem, new_name: str) -> None: method add_tags_to_selected_notes (line 1155) | def add_tags_to_selected_notes(self) -> None: method remove_tags_from_selected_notes (line 1159) | def remove_tags_from_selected_notes(self) -> None: method _get_saved_searches (line 1168) | def _get_saved_searches(self) -> dict[str, str]: method _set_saved_searches (line 1171) | def _set_saved_searches(self, searches: dict[str, str]) -> None: method _get_current_search (line 1174) | def _get_current_search(self) -> str | None: method _save_search (line 1181) | def _save_search(self, name: str, search: str, update: bool = False) -... method remove_saved_searches (line 1194) | def remove_saved_searches(self, _item: SidebarItem) -> None: method rename_saved_search (line 1202) | def rename_saved_search(self, item: SidebarItem, new_name: str) -> None: method save_current_search (line 1219) | def save_current_search(self) -> None: method update_saved_search (line 1227) | def update_saved_search(self, item: SidebarItem) -> None: method manage_notetype (line 1235) | def manage_notetype(self, item: SidebarItem) -> None: method manage_template (line 1243) | def manage_template(self, item: SidebarItem) -> None: method manage_fields (line 1249) | def manage_fields(self, item: SidebarItem) -> None: method _selected_items (line 1260) | def _selected_items(self) -> list[SidebarItem]: method _selected_decks (line 1263) | def _selected_decks(self) -> list[DeckId]: method _selected_saved_searches (line 1270) | def _selected_saved_searches(self) -> list[str]: method _selected_tags (line 1277) | def _selected_tags(self) -> list[str]: method _selection_model (line 1284) | def _selection_model(self) -> QItemSelectionModel: FILE: qt/aqt/browser/table/__init__.py class SearchContext (line 28) | class SearchContext: class Cell (line 38) | class Cell: method __init__ (line 39) | def __init__( class CellRow (line 49) | class CellRow: method __init__ (line 52) | def __init__( method is_stale (line 65) | def is_stale(self, threshold: float) -> bool: method generic (line 69) | def generic(length: int, cell_text: str) -> CellRow: method placeholder (line 78) | def placeholder(length: int) -> CellRow: method disabled (line 82) | def disabled(length: int, cell_text: str) -> CellRow: function backend_elide_mode_to_aqt_elide_mode (line 88) | def backend_elide_mode_to_aqt_elide_mode( function backend_color_to_aqt_color (line 100) | def backend_color_to_aqt_color(color: BrowserRow.Color.V) -> dict[str, s... function adjusted_bg_color (line 127) | def adjusted_bg_color(color: dict[str, str] | None) -> dict[str, str] | ... FILE: qt/aqt/browser/table/model.py class DataModel (line 24) | class DataModel(QAbstractTableModel): method __init__ (line 36) | def __init__( method get_cell (line 65) | def get_cell(self, index: QModelIndex) -> Cell: method get_row (line 68) | def get_row(self, index: QModelIndex) -> CellRow: method _fetch_row_and_update_cache (line 82) | def _fetch_row_and_update_cache( method _fetch_row_from_backend (line 103) | def _fetch_row_from_backend(self, item: ItemId) -> CellRow: method get_cached_row (line 127) | def get_cached_row(self, index: QModelIndex) -> CellRow | None: method mark_cache_stale (line 133) | def mark_cache_stale(self) -> None: method reset (line 136) | def reset(self) -> None: method begin_reset (line 140) | def begin_reset(self) -> None: method end_reset (line 144) | def end_reset(self) -> None: method begin_blocking (line 149) | def begin_blocking(self) -> None: method end_blocking (line 152) | def end_blocking(self) -> None: method redraw_cells (line 156) | def redraw_cells(self) -> None: method is_empty (line 169) | def is_empty(self) -> bool: method len_rows (line 172) | def len_rows(self) -> int: method len_columns (line 175) | def len_columns(self) -> int: method get_item (line 180) | def get_item(self, index: QModelIndex) -> ItemId: method get_items (line 183) | def get_items(self, indices: list[QModelIndex]) -> Sequence[ItemId]: method get_card_ids (line 186) | def get_card_ids(self, indices: list[QModelIndex]) -> Sequence[CardId]: method get_note_ids (line 189) | def get_note_ids(self, indices: list[QModelIndex]) -> Sequence[NoteId]: method get_note_id (line 192) | def get_note_id(self, index: QModelIndex) -> NoteId | None: method get_item_row (line 199) | def get_item_row(self, item: ItemId) -> int | None: method get_item_rows (line 205) | def get_item_rows(self, items: Sequence[ItemId]) -> list[int]: method get_card_row (line 212) | def get_card_row(self, card_id: CardId) -> int | None: method get_card (line 217) | def get_card(self, index: QModelIndex) -> Card | None: method get_note (line 230) | def get_note(self, index: QModelIndex) -> Note | None: method toggle_state (line 242) | def toggle_state(self, context: SearchContext) -> ItemState: method search (line 257) | def search(self, context: SearchContext) -> None: method _search_inner (line 264) | def _search_inner(self, context: SearchContext) -> None: method reverse (line 282) | def reverse(self) -> None: method column_at (line 289) | def column_at(self, index: QModelIndex) -> Column: method column_at_section (line 292) | def column_at_section(self, section: int) -> Column: method active_column_index (line 303) | def active_column_index(self, column: str) -> int | None: method toggle_column (line 310) | def toggle_column(self, column: str) -> None: method rowCount (line 318) | def rowCount(self, parent: QModelIndex = QModelIndex()) -> int: method columnCount (line 323) | def columnCount(self, parent: QModelIndex = QModelIndex()) -> int: method data (line 328) | def data(self, index: QModelIndex = QModelIndex(), role: int = 0) -> Any: method headerData (line 350) | def headerData( method flags (line 360) | def flags(self, index: QModelIndex) -> Qt.ItemFlag: function addon_column_fillin (line 368) | def addon_column_fillin(key: str) -> Column: FILE: qt/aqt/browser/table/state.py class ItemState (line 18) | class ItemState(ABC): method __init__ (line 24) | def __init__(self, col: Collection) -> None: method is_notes_mode (line 29) | def is_notes_mode(self) -> bool: method note_ids_from_card_ids (line 35) | def note_ids_from_card_ids(self, items: Sequence[ItemId]) -> Sequence[... method card_ids_from_note_ids (line 41) | def card_ids_from_note_ids(self, items: Sequence[ItemId]) -> Sequence[... method column_key_at (line 45) | def column_key_at(self, index: int) -> str: method column_label (line 48) | def column_label(self, column: Column) -> str: method column_tooltip (line 53) | def column_tooltip(self, column: Column) -> str: method active_columns (line 63) | def active_columns(self) -> list[str]: method toggle_active_column (line 67) | def toggle_active_column(self, column: str) -> None: method sort_column (line 71) | def sort_column(self) -> str: method sort_column (line 75) | def sort_column(self, column: str) -> None: method sort_backwards (line 80) | def sort_backwards(self) -> bool: method sort_backwards (line 85) | def sort_backwards(self, order: bool) -> None: method get_card (line 92) | def get_card(self, item: ItemId) -> Card: method get_note (line 96) | def get_note(self, item: ItemId) -> Note: method find_items (line 102) | def find_items( method get_item_from_card_id (line 108) | def get_item_from_card_id(self, card: CardId) -> ItemId: method get_card_ids (line 112) | def get_card_ids(self, items: Sequence[ItemId]) -> Sequence[CardId]: method get_note_ids (line 116) | def get_note_ids(self, items: Sequence[ItemId]) -> Sequence[NoteId]: method toggle_state (line 122) | def toggle_state(self) -> ItemState: method get_new_items (line 126) | def get_new_items(self, old_items: Sequence[ItemId]) -> ItemList: class CardState (line 130) | class CardState(ItemState): method __init__ (line 135) | def __init__(self, col: Collection) -> None: method active_columns (line 140) | def active_columns(self) -> list[str]: method toggle_active_column (line 143) | def toggle_active_column(self, column: str) -> None: method get_card (line 150) | def get_card(self, item: ItemId) -> Card: method get_note (line 153) | def get_note(self, item: ItemId) -> Note: method find_items (line 156) | def find_items( method get_item_from_card_id (line 161) | def get_item_from_card_id(self, card: CardId) -> ItemId: method get_card_ids (line 164) | def get_card_ids(self, items: Sequence[ItemId]) -> Sequence[CardId]: method get_note_ids (line 167) | def get_note_ids(self, items: Sequence[ItemId]) -> Sequence[NoteId]: method toggle_state (line 170) | def toggle_state(self) -> NoteState: method get_new_items (line 173) | def get_new_items(self, old_items: Sequence[ItemId]) -> Sequence[CardId]: class NoteState (line 177) | class NoteState(ItemState): method __init__ (line 182) | def __init__(self, col: Collection) -> None: method active_columns (line 187) | def active_columns(self) -> list[str]: method toggle_active_column (line 190) | def toggle_active_column(self, column: str) -> None: method get_card (line 197) | def get_card(self, item: ItemId) -> Card: method get_note (line 202) | def get_note(self, item: ItemId) -> Note: method find_items (line 205) | def find_items( method get_item_from_card_id (line 210) | def get_item_from_card_id(self, card: CardId) -> ItemId: method get_card_ids (line 213) | def get_card_ids(self, items: Sequence[ItemId]) -> Sequence[CardId]: method get_note_ids (line 216) | def get_note_ids(self, items: Sequence[ItemId]) -> Sequence[NoteId]: method toggle_state (line 219) | def toggle_state(self) -> CardState: method get_new_items (line 222) | def get_new_items(self, old_items: Sequence[ItemId]) -> Sequence[NoteId]: FILE: qt/aqt/browser/table/table.py class Table (line 32) | class Table: method __init__ (line 35) | def __init__(self, browser: aqt.browser.Browser) -> None: method set_view (line 58) | def set_view(self, view: QTableView) -> None: method cleanup (line 63) | def cleanup(self) -> None: method len (line 71) | def len(self) -> int: method len_selection (line 74) | def len_selection(self, refresh: bool = False) -> int: method has_current (line 80) | def has_current(self) -> bool: method has_previous (line 83) | def has_previous(self) -> bool: method has_next (line 86) | def has_next(self) -> bool: method is_notes_mode (line 89) | def is_notes_mode(self) -> bool: method get_current_card (line 94) | def get_current_card(self) -> Card | None: method get_current_note (line 97) | def get_current_note(self) -> Note | None: method get_single_selected_card (line 100) | def get_single_selected_card(self) -> Card | None: method get_selected_card_ids (line 109) | def get_selected_card_ids(self) -> Sequence[CardId]: method get_selected_note_ids (line 112) | def get_selected_note_ids(self) -> Sequence[NoteId]: method get_card_ids_from_selected_note_ids (line 115) | def get_card_ids_from_selected_note_ids(self) -> Sequence[CardId]: method select_all (line 120) | def select_all(self) -> None: method clear_selection (line 124) | def clear_selection(self) -> None: method invert_selection (line 129) | def invert_selection(self) -> None: method select_single_card (line 139) | def select_single_card( method reset (line 154) | def reset(self) -> None: method begin_reset (line 159) | def begin_reset(self) -> None: method end_reset (line 163) | def end_reset(self) -> None: method on_backend_will_block (line 167) | def on_backend_will_block(self) -> None: method on_backend_did_block (line 172) | def on_backend_did_block(self) -> None: method redraw_cells (line 175) | def redraw_cells(self) -> None: method op_executed (line 178) | def op_executed( method search (line 188) | def search(self, txt: str) -> None: method toggle_state (line 193) | def toggle_state(self, is_notes_mode: bool, last_search: str) -> None: method to_previous_row (line 210) | def to_previous_row(self) -> None: method to_next_row (line 213) | def to_next_row(self) -> None: method to_first_row (line 216) | def to_first_row(self) -> None: method to_last_row (line 219) | def to_last_row(self) -> None: method to_row_of_unselected_note (line 222) | def to_row_of_unselected_note(self) -> Sequence[NoteId]: method clear_current (line 255) | def clear_current(self) -> None: method _current (line 266) | def _current(self) -> QModelIndex: method _selected (line 269) | def _selected(self) -> list[QModelIndex]: method _set_current (line 274) | def _set_current(self, row: int, column: int = 0) -> None: method _reset_selection (line 281) | def _reset_selection(self) -> None: method _select_rows (line 290) | def _select_rows(self, rows: list[int]) -> None: method _set_sort_indicator (line 301) | def _set_sort_indicator(self) -> None: method _set_column_sizes (line 316) | def _set_column_sizes(self) -> None: method _save_header (line 326) | def _save_header(self) -> None: method _restore_header (line 329) | def _restore_header(self) -> None: method _setup_view (line 339) | def _setup_view(self) -> None: method _update_font (line 357) | def _update_font(self) -> None: method _setup_headers (line 371) | def _setup_headers(self) -> None: method _on_current_changed (line 389) | def _on_current_changed(self, current: QModelIndex, previous: QModelIn... method _on_selection_changed (line 393) | def _on_selection_changed( method _on_row_state_will_change (line 411) | def _on_row_state_will_change(self, index: QModelIndex, was_restored: ... method _on_row_state_changed (line 422) | def _on_row_state_changed(self, index: QModelIndex, was_restored: bool... method _on_context_menu (line 441) | def _on_context_menu(self, _point: QPoint) -> None: method _on_header_context (line 462) | def _on_header_context(self, pos: QPoint) -> None: method _on_column_moved (line 480) | def _on_column_moved(self, *_args: Any) -> None: method _on_column_toggled (line 483) | def _on_column_toggled(self, checked: bool, column: str) -> None: method _on_sort_column_changed (line 494) | def _on_sort_column_changed(self, section: int, order: Qt.SortOrder) -... method _reverse (line 515) | def _reverse(self) -> None: method _save_selection (line 522) | def _save_selection(self) -> None: method _restore_selection (line 528) | def _restore_selection(self, new_selected_and_current: Callable) -> None: method _qualify_selected_rows (line 547) | def _qualify_selected_rows(self, rows: list[int], current: int | None)... method _intersected_selection (line 557) | def _intersected_selection(self) -> tuple[list[int], int | None]: method _toggled_selection (line 567) | def _toggled_selection(self) -> tuple[list[int], int | None]: method _scroll_to_row (line 582) | def _scroll_to_row(self, row: int, scroll_even_if_visible: bool = Fals... method _scroll_to_column (line 599) | def _scroll_to_column(self, column: int) -> None: method _move_current_to_index (line 616) | def _move_current_to_index(self, index: QModelIndex) -> None: method _move_current (line 632) | def _move_current( method _move_current_to_row (line 643) | def _move_current_to_row(self, row: int) -> None: method _selection_model (line 657) | def _selection_model(self) -> QItemSelectionModel: method _horizontal_header (line 663) | def _horizontal_header(self) -> QHeaderView: class StatusDelegate (line 670) | class StatusDelegate(QItemDelegate): method __init__ (line 671) | def __init__(self, browser: aqt.browser.Browser, model: DataModel) -> ... method paint (line 675) | def paint( FILE: qt/aqt/changenotetype.py class ChangeNotetypeDialog (line 28) | class ChangeNotetypeDialog(QDialog): method __init__ (line 32) | def __init__( method _setup_ui (line 45) | def _setup_ui(self, notetype_id: NotetypeId) -> None: method reject (line 62) | def reject(self) -> None: method save (line 68) | def save(self, data: bytes) -> None: function change_notetype_dialog (line 88) | def change_notetype_dialog(parent: QWidget, note_ids: Sequence[NoteId]) ... FILE: qt/aqt/clayout.py class CardLayout (line 48) | class CardLayout(QDialog): method __init__ (line 49) | def __init__( method redraw_everything (line 100) | def redraw_everything(self) -> None: method update_current_ordinal_and_redraw (line 106) | def update_current_ordinal_and_redraw(self, idx: int) -> None: method _isCloze (line 114) | def _isCloze(self) -> bool: method setupTopArea (line 120) | def setupTopArea(self) -> None: method updateTopArea (line 137) | def updateTopArea(self) -> None: method updateCardNames (line 140) | def updateCardNames(self) -> None: method _summarizedName (line 151) | def _summarizedName(self, idx: int, tmpl: dict) -> str: method _fieldsOnTemplate (line 159) | def _fieldsOnTemplate(self, fmt: str) -> str: method setupShortcuts (line 183) | def setupShortcuts(self) -> None: method setupMainArea (line 230) | def setupMainArea(self) -> None: method setup_edit_area (line 253) | def setup_edit_area(self) -> None: method setup_cloze_number_box (line 299) | def setup_cloze_number_box(self) -> None: method on_change_cloze (line 312) | def on_change_cloze(self, idx: int) -> None: method on_editor_toggled (line 317) | def on_editor_toggled(self) -> None: method on_search_changed (line 334) | def on_search_changed(self, text: str) -> None: method on_search_next (line 344) | def on_search_next(self) -> None: method setup_preview (line 348) | def setup_preview(self) -> None: method on_fill_empty_action_toggled (line 390) | def on_fill_empty_action_toggled(self) -> None: method on_night_mode_action_toggled (line 394) | def on_night_mode_action_toggled(self) -> None: method on_mobile_class_action_toggled (line 402) | def on_mobile_class_action_toggled(self) -> None: method on_preview_settings (line 406) | def on_preview_settings(self) -> None: method on_preview_toggled (line 431) | def on_preview_toggled(self) -> None: method _on_bridge_cmd (line 435) | def _on_bridge_cmd(self, cmd: str) -> Any: method note_has_empty_field (line 439) | def note_has_empty_field(self) -> bool: method setupButtons (line 449) | def setupButtons(self) -> None: method current_template (line 480) | def current_template(self) -> dict: method fill_fields_from_template (line 485) | def fill_fields_from_template(self) -> None: method write_edits_to_template_and_redraw (line 499) | def write_edits_to_template_and_redraw(self) -> None: method renderPreview (line 521) | def renderPreview(self) -> None: method cancelPreviewTimer (line 528) | def cancelPreviewTimer(self) -> None: method _renderPreview (line 533) | def _renderPreview(self) -> None: method maybeTextInput (line 586) | def maybeTextInput(self, txt: str, type: str = "q") -> str: method onRemove (line 615) | def onRemove(self) -> None: method onRemoveInner (line 644) | def onRemoveInner(self, template: dict) -> None: method onRename (line 654) | def onRename(self) -> None: method onReorder (line 665) | def onReorder(self) -> None: method _newCardName (line 690) | def _newCardName(self) -> str: method onAddCard (line 699) | def onAddCard(self) -> None: method on_restore_to_default (line 715) | def on_restore_to_default( method onFlip (line 743) | def onFlip(self) -> None: method _flipQA (line 748) | def _flipQA(self, src: dict, dst: dict) -> None: method onCopyMarkdown (line 757) | def onCopyMarkdown(self) -> None: method onMore (line 782) | def onMore(self) -> None: method onBrowserDisplay (line 832) | def onBrowserDisplay(self) -> None: method onBrowserDisplayOk (line 847) | def onBrowserDisplayOk(self, f: browserdisp.Ui_Dialog) -> None: method onTargetDeck (line 860) | def onTargetDeck(self) -> None: method onAddField (line 894) | def onAddField(self) -> None: method _addField (line 914) | def _addField(self, field: str, font: str, size: int) -> None: method accept (line 931) | def accept(self) -> None: method reject (line 942) | def reject(self) -> None: method cleanup (line 968) | def cleanup(self) -> None: method onHelp (line 979) | def onHelp(self) -> None: class SelectStockNotetype (line 983) | class SelectStockNotetype(QDialog): method __init__ (line 984) | def __init__( method reject (line 1011) | def reject(self) -> None: method accept (line 1014) | def accept(self) -> None: FILE: qt/aqt/customstudy.py class CustomStudy (line 33) | class CustomStudy(QDialog): method fetch_data_and_show (line 35) | def fetch_data_and_show(mw: aqt.AnkiQt) -> None: method __init__ (line 54) | def __init__( method setupSignals (line 74) | def setupSignals(self) -> None: method count_with_children (line 84) | def count_with_children(self, parent: int, children: int) -> str: method onRadioChange (line 90) | def onRadioChange(self, idx: int) -> None: method setTextAfterSpinner (line 158) | def setTextAfterSpinner(self, newSpinValue) -> None: method accept (line 177) | def accept(self) -> None: method _create_and_close (line 214) | def _create_and_close(self, request: CustomStudyRequest) -> None: FILE: qt/aqt/data/web/js/deckbrowser.ts function init (line 6) | function init() { function handleDropEvent (line 27) | function handleDropEvent(event, ui) { FILE: qt/aqt/data/web/js/reviewer-bottom.ts function updateTime (line 13) | function updateTime(): void { function showQuestion (line 34) | function showQuestion(txt: string, maxTime_: number): void { function showAnswer (line 52) | function showAnswer(txt: string, stopTimer = false): void { function selectedAnswerButton (line 57) | function selectedAnswerButton(): string { FILE: qt/aqt/data/web/js/toolbar.ts type SyncState (line 8) | enum SyncState { function updateSyncColor (line 14) | function updateSyncColor(state: SyncState) { function isAbsolutelyPositioned (line 34) | function isAbsolutelyPositioned(node: Node): boolean { function isLegacyAddonElement (line 41) | function isLegacyAddonElement(node: Node): boolean { function getElementDimensions (line 53) | function getElementDimensions(element: HTMLElement): [number, number] { function moveLegacyAddonsToTray (line 69) | function moveLegacyAddonsToTray() { FILE: qt/aqt/data/web/js/vendor/plot.js function clamp (line 7) | function clamp(min,value,max){return valuemax?max:value} function Canvas (line 7) | function Canvas(cls,container){var element=container.children("."+cls)[0... function Plot (line 7) | function Plot(placeholder,data_,options_,plugins){var series=[],options=... function floorInBase (line 8) | function floorInBase(n,base){return base*Math.floor(n/base)} function init (line 16) | function init(plot){function findMatchingSeries(s,allseries){var res=nul... function init (line 24) | function init(plot){var canvas=null,target=null,options=null,maxRadius=n... FILE: qt/aqt/dbcheck.py function on_progress (line 14) | def on_progress(mw: aqt.main.AnkiQt) -> None: function check_db (line 27) | def check_db(mw: aqt.AnkiQt) -> None: FILE: qt/aqt/debug_console.py function show_debug_console (line 30) | def show_debug_console() -> None: class Action (line 42) | class Action: class DebugConsole (line 48) | class DebugConsole(QDialog): method __init__ (line 52) | def __init__(self, parent: QWidget) -> None: method _setup_ui (line 60) | def _setup_ui(self): method _setup_text_edits (line 73) | def _setup_text_edits(self): method _setup_scripts (line 81) | def _setup_scripts(self) -> None: method _setup_actions (line 87) | def _setup_actions(self) -> None: method _actions (line 93) | def _actions(self): method reject (line 104) | def reject(self) -> None: method _on_script_change (line 109) | def _on_script_change(self, new_index: int) -> None: method _get_script (line 114) | def _get_script(self, idx: int) -> str | None: method _get_item (line 121) | def _get_item(self, idx: int) -> Path | None: method _get_index (line 127) | def _get_index(self, path: Path) -> int: method _path_to_item (line 130) | def _path_to_item(self, path: Path) -> str: method _current_script_path (line 133) | def _current_script_path(self) -> Path | None: method _save_script (line 136) | def _save_script(self) -> None: method _open_script (line 155) | def _open_script(self) -> None: method _delete_script (line 175) | def _delete_script(self) -> None: method _drop_buffer_and_shift_keys (line 184) | def _drop_buffer_and_shift_keys(self, idx: int) -> None: method _setup_context_menu (line 190) | def _setup_context_menu(self) -> None: method _on_context_menu (line 198) | def _on_context_menu(self, text_edit: QPlainTextEdit) -> None: method _on_widgetGallery (line 208) | def _on_widgetGallery(self) -> None: method _captureOutput (line 214) | def _captureOutput(self, on: bool) -> None: method _card_repr (line 232) | def _card_repr(self, card: anki.cards.Card | None) -> None: method _debugCard (line 259) | def _debugCard(self) -> anki.cards.Card | None: method _debugBrowserCard (line 265) | def _debugBrowserCard(self) -> anki.cards.Card | None: method onDebugPrint (line 270) | def onDebugPrint(self) -> None: method onDebugRet (line 284) | def onDebugRet(self) -> None: function _split_off_leading_whitespace (line 325) | def _split_off_leading_whitespace(text: str) -> tuple[str, str]: FILE: qt/aqt/deckbrowser.py class DeckBrowserBottomBar (line 32) | class DeckBrowserBottomBar: method __init__ (line 33) | def __init__(self, deck_browser: DeckBrowser) -> None: class RenderData (line 38) | class RenderData: class DeckBrowserContent (line 48) | class DeckBrowserContent: class RenderDeckNodeContext (line 62) | class RenderDeckNodeContext: class DeckBrowser (line 66) | class DeckBrowser: method __init__ (line 69) | def __init__(self, mw: AnkiQt) -> None: method show (line 76) | def show(self) -> None: method refresh (line 83) | def refresh(self) -> None: method refresh_if_needed (line 87) | def refresh_if_needed(self) -> None: method op_executed (line 91) | def op_executed( method _linkHandler (line 105) | def _linkHandler(self, url: str) -> Any: method set_current_deck (line 139) | def set_current_deck(self, deck_id: DeckId) -> None: method _renderPage (line 158) | def _renderPage(self, reuse: bool = False) -> None: method __renderPage (line 181) | def __renderPage(self, offset: int | None) -> None: method _scrollToOffset (line 204) | def _scrollToOffset(self, offset: int) -> None: method _renderStats (line 207) | def _renderStats(self) -> str: method _renderDeckTree (line 212) | def _renderDeckTree(self, top: DeckTreeNode) -> str: method _render_deck_node (line 233) | def _render_deck_node(self, node: DeckTreeNode, ctx: RenderDeckNodeCon... method _topLevelDragRow (line 303) | def _topLevelDragRow(self) -> str: method _showOptions (line 309) | def _showOptions(self, did: str) -> None: method _export (line 326) | def _export(self, did: DeckId) -> None: method _rename (line 329) | def _rename(self, did: DeckId) -> None: method _options (line 345) | def _options(self, did: DeckId) -> None: method _collapse (line 348) | def _collapse(self, did: DeckId) -> None: method _handle_drag_and_drop (line 360) | def _handle_drag_and_drop(self, source: DeckId, target: DeckId) -> None: method _delete (line 365) | def _delete(self, did: DeckId) -> None: method _drawButtons (line 382) | def _drawButtons(self) -> None: method _onShared (line 396) | def _onShared(self) -> None: method _on_create (line 399) | def _on_create(self) -> None: method _v1_upgrade_message (line 407) | def _v1_upgrade_message(self, required: bool) -> str: method _confirm_upgrade (line 431) | def _confirm_upgrade(self) -> None: FILE: qt/aqt/deckchooser.py class DeckChooser (line 16) | class DeckChooser(QHBoxLayout): method __init__ (line 17) | def __init__( method _setup_ui (line 40) | def _setup_ui(self, show_label: bool) -> None: method selected_deck_name (line 63) | def selected_deck_name(self) -> str: method selected_deck_id (line 69) | def selected_deck_id(self) -> DeckId: method selected_deck_id (line 75) | def selected_deck_id(self, id: DeckId) -> None: method _ensure_selected_deck_valid (line 81) | def _ensure_selected_deck_valid(self) -> None: method _update_button_label (line 86) | def _update_button_label(self) -> None: method show (line 90) | def show(self) -> None: method hide (line 93) | def hide(self) -> None: method choose_deck (line 96) | def choose_deck(self) -> None: method on_operation_did_execute (line 125) | def on_operation_did_execute( method cleanup (line 131) | def cleanup(self) -> None: method selectedId (line 139) | def selectedId(self) -> DeckId: FILE: qt/aqt/deckconf.py class DeckConf (line 31) | class DeckConf(QDialog): method __init__ (line 32) | def __init__(self, mw: aqt.AnkiQt, deck: dict) -> None: method setupCombos (line 63) | def setupCombos(self) -> None: method setupConfs (line 73) | def setupConfs(self) -> None: method loadConfs (line 78) | def loadConfs(self) -> None: method confOpts (line 95) | def confOpts(self) -> None: method onConfChange (line 109) | def onConfChange(self, idx: int) -> None: method addGroup (line 125) | def addGroup(self) -> None: method remGroup (line 140) | def remGroup(self) -> None: method renameGroup (line 151) | def renameGroup(self) -> None: method setChildren (line 162) | def setChildren(self) -> None: method listToUser (line 176) | def listToUser(self, l: list[int | float]) -> str: method parentLimText (line 185) | def parentLimText(self, type: str = "new") -> str: method loadConf (line 199) | def loadConf(self) -> None: method onRestore (line 236) | def onRestore(self) -> None: method onNewOrderChanged (line 245) | def onNewOrderChanged(self, new: bool) -> None: method updateList (line 257) | def updateList(self, conf: Any, key: str, w: QLineEdit, minSize: int =... method saveConf (line 279) | def saveConf(self) -> None: method reject (line 321) | def reject(self) -> None: method accept (line 324) | def accept(self) -> None: FILE: qt/aqt/deckdescription.py class DeckDescriptionDialog (line 16) | class DeckDescriptionDialog(QDialog): method __init__ (line 20) | def __init__(self, mw: aqt.main.AnkiQt) -> None: method _setup_and_show (line 33) | def _setup_and_show(self, deck: DeckDict) -> None: method _setup_ui (line 41) | def _setup_ui(self) -> None: method save_and_accept (line 69) | def save_and_accept(self) -> None: method accept (line 77) | def accept(self) -> None: FILE: qt/aqt/deckoptions.py class DeckOptionsDialog (line 24) | class DeckOptionsDialog(QDialog): method __init__ (line 30) | def __init__(self, mw: aqt.main.AnkiQt, deck: DeckDict) -> None: method _setup_ui (line 38) | def _setup_ui(self) -> None: method set_ready (line 57) | def set_ready(self): method closeEvent (line 61) | def closeEvent(self, evt: QCloseEvent | None) -> None: method require_close (line 68) | def require_close(self): method reject (line 73) | def reject(self) -> None: function confirm_deck_then_display_options (line 81) | def confirm_deck_then_display_options(active_card: Card | None = None) -... function _deck_prompt_dialog (line 101) | def _deck_prompt_dialog(decks: list[DeckDict]) -> None: function display_options_for_deck_id (line 118) | def display_options_for_deck_id(deck_id: DeckId) -> None: function display_options_for_deck (line 124) | def display_options_for_deck(deck: DeckDict) -> None: FILE: qt/aqt/editcurrent.py class EditCurrent (line 15) | class EditCurrent(QMainWindow): method __init__ (line 16) | def __init__(self, mw: aqt.AnkiQt) -> None: method on_operation_did_execute (line 45) | def on_operation_did_execute( method cleanup (line 62) | def cleanup(self) -> None: method reopen (line 68) | def reopen(self, mw: aqt.AnkiQt) -> None: method closeEvent (line 73) | def closeEvent(self, evt: QCloseEvent | None) -> None: method _saveAndClose (line 76) | def _saveAndClose(self) -> None: method closeWithCallback (line 81) | def closeWithCallback(self, onsuccess: Callable[[], None]) -> None: FILE: qt/aqt/editor.py class EditorMode (line 92) | class EditorMode(Enum): class EditorState (line 98) | class EditorState(Enum): class Editor (line 110) | class Editor: method __init__ (line 120) | def __init__( method setupOuter (line 160) | def setupOuter(self) -> None: method add_webview (line 167) | def add_webview(self) -> None: method setupWeb (line 172) | def setupWeb(self) -> None: method resourceToData (line 226) | def resourceToData(self, path: str) -> str: method addButton (line 236) | def addButton( method _addButton (line 292) | def _addButton( method setupShortcuts (line 341) | def setupShortcuts(self) -> None: method setupColourPalette (line 353) | def setupColourPalette(self) -> None: method _addFocusCheck (line 361) | def _addFocusCheck(self, fn: Callable) -> Callable: method onFields (line 369) | def onFields(self) -> None: method _onFields (line 372) | def _onFields(self) -> None: method onCardLayout (line 377) | def onCardLayout(self) -> None: method _onCardLayout (line 380) | def _onCardLayout(self) -> None: method onBridgeCmd (line 402) | def onBridgeCmd(self, cmd: str) -> Any: method mungeHTML (line 526) | def mungeHTML(self, txt: str) -> str: method signal_state_change (line 529) | def signal_state_change( method set_note (line 538) | def set_note( method loadNoteKeepingFocus (line 552) | def loadNoteKeepingFocus(self) -> None: method loadNote (line 555) | def loadNote(self, focusTo: int | None = None) -> None: method _save_current_note (line 635) | def _save_current_note(self) -> None: method fonts (line 644) | def fonts(self) -> list[tuple[str, int, bool]]: method call_after_note_saved (line 650) | def call_after_note_saved( method _check_and_update_duplicate_display_async (line 662) | def _check_and_update_duplicate_display_async(self) -> None: method _update_duplicate_display (line 680) | def _update_duplicate_display(self, result: NoteFieldsCheckResult.V) -... method showDupes (line 698) | def showDupes(self) -> None: method fieldsAreBlank (line 713) | def fieldsAreBlank(self, previousNote: Note | None = None) -> bool: method cleanup (line 726) | def cleanup(self) -> None: method setupTags (line 741) | def setupTags(self) -> None: method updateTags (line 761) | def updateTags(self) -> None: method on_tag_focus_lost (line 768) | def on_tag_focus_lost(self) -> None: method blur_tags_if_focused (line 775) | def blur_tags_if_focused(self) -> None: method hideCompleters (line 781) | def hideCompleters(self) -> None: method onFocusTags (line 784) | def onFocusTags(self) -> None: method saveAddModeVars (line 789) | def saveAddModeVars(self) -> None: method onAddMedia (line 797) | def onAddMedia(self) -> None: method addMedia (line 818) | def addMedia(self, path: str, canDelete: bool = False) -> None: method resolve_media (line 830) | def resolve_media(self, path: str) -> None: method _addMedia (line 843) | def _addMedia(self, path: str, canDelete: bool = False) -> str: method _addMediaFromData (line 850) | def _addMediaFromData(self, fname: str, data: bytes) -> str: method onRecSound (line 853) | def onRecSound(self) -> None: method urlToLink (line 864) | def urlToLink(self, url: str, allowed_suffixes: Iterable[str] = ()) ->... method fnameToLink (line 876) | def fnameToLink(self, fname: str) -> str: method urlToFile (line 885) | def urlToFile( method isURL (line 895) | def isURL(self, s: str) -> bool: method inlinedImageToFilename (line 904) | def inlinedImageToFilename(self, txt: str) -> str: method inlinedImageToLink (line 918) | def inlinedImageToLink(self, src: str) -> str: method _pasted_image_filename (line 925) | def _pasted_image_filename(self, data: bytes, ext: str) -> str: method _read_pasted_image (line 929) | def _read_pasted_image(self, mime: QMimeData) -> str: method _addPastedImage (line 949) | def _addPastedImage(self, data: bytes, ext: str) -> str: method _retrieveURL (line 954) | def _retrieveURL(self, url: str) -> str | None: method _pastePreFilter (line 1006) | def _pastePreFilter(self, html: str, internal: bool) -> str: method doPaste (line 1053) | def doPaste(self, html: str, internal: bool, extended: bool = False) -... method doDrop (line 1062) | def doDrop( method onPaste (line 1074) | def onPaste(self) -> None: method onCutOrCopy (line 1077) | def onCutOrCopy(self) -> None: method current_notetype_is_image_occlusion (line 1083) | def current_notetype_is_image_occlusion(self) -> bool: method setup_mask_editor (line 1092) | def setup_mask_editor(self, image_path: str) -> None: method select_image_and_occlude (line 1106) | def select_image_and_occlude(self) -> None: method extract_img_path_from_html (line 1123) | def extract_img_path_from_html(self, html: str) -> str | None: method select_image_from_clipboard_and_occlude (line 1131) | def select_image_from_clipboard_and_occlude(self) -> None: method setup_mask_editor_for_new_note (line 1149) | def setup_mask_editor_for_new_note( method setup_mask_editor_for_existing_note (line 1171) | def setup_mask_editor_for_existing_note( method reset_image_occlusion (line 1189) | def reset_image_occlusion(self) -> None: method update_occlusions_field (line 1192) | def update_occlusions_field(self) -> None: method _setup_mask_editor (line 1195) | def _setup_mask_editor(self, io_options: dict): method _create_add_io_options (line 1203) | def _create_add_io_options( method _create_clone_io_options (line 1212) | def _create_clone_io_options(orig_note_id: NoteId) -> dict: method _create_edit_io_options (line 1218) | def _create_edit_io_options(note_id: NoteId) -> dict: method onHtmlEdit (line 1227) | def onHtmlEdit(self) -> None: method _onHtmlEdit (line 1232) | def _onHtmlEdit(self, field: int) -> None: method toggleBold (line 1267) | def toggleBold(self) -> None: method toggleItalic (line 1271) | def toggleItalic(self) -> None: method toggleUnderline (line 1275) | def toggleUnderline(self) -> None: method toggleSuper (line 1279) | def toggleSuper(self) -> None: method toggleSub (line 1283) | def toggleSub(self) -> None: method removeFormat (line 1287) | def removeFormat(self) -> None: method onCloze (line 1291) | def onCloze(self) -> None: method _onCloze (line 1295) | def _onCloze(self) -> None: method setupForegroundButton (line 1317) | def setupForegroundButton(self) -> None: method onForeground (line 1323) | def onForeground(self) -> None: method onChangeCol (line 1328) | def onChangeCol(self) -> None: method _updateForegroundButton (line 1346) | def _updateForegroundButton(self) -> None: method onColourChanged (line 1350) | def onColourChanged(self) -> None: method _wrapWithColour (line 1356) | def _wrapWithColour(self, colour: str) -> None: method onAdvanced (line 1360) | def onAdvanced(self) -> None: method insertLatex (line 1386) | def insertLatex(self) -> None: method insertLatexEqn (line 1390) | def insertLatexEqn(self) -> None: method insertLatexMathEnv (line 1394) | def insertLatexMathEnv(self) -> None: method insertMathjaxInline (line 1398) | def insertMathjaxInline(self) -> None: method insertMathjaxBlock (line 1402) | def insertMathjaxBlock(self) -> None: method insertMathjaxChemistry (line 1406) | def insertMathjaxChemistry(self) -> None: method toggleMathjax (line 1409) | def toggleMathjax(self) -> None: method toggleShrinkImages (line 1417) | def toggleShrinkImages(self) -> None: method toggleCloseHTMLTags (line 1423) | def toggleCloseHTMLTags(self) -> None: method setTagsCollapsed (line 1429) | def setTagsCollapsed(self, collapsed: bool) -> None: method _init_links (line 1435) | def _init_links(self) -> None: method note_type (line 1465) | def note_type(self) -> NotetypeDict: class EditorWebView (line 1476) | class EditorWebView(AnkiWebView): method __init__ (line 1477) | def __init__(self, parent: QWidget, editor: Editor) -> None: method user_cut_or_copied (line 1491) | def user_cut_or_copied(self) -> None: method _on_clipboard_change (line 1495) | def _on_clipboard_change( method _get_clipboard_html_for_field (line 1511) | def _get_clipboard_html_for_field(self, mode: QClipboard.Mode) -> str ... method onCut (line 1519) | def onCut(self) -> None: method onCopy (line 1522) | def onCopy(self) -> None: method on_copy_image (line 1525) | def on_copy_image(self) -> None: method _opened_context_menu_on_image (line 1528) | def _opened_context_menu_on_image(self) -> bool: method _wantsExtendedPaste (line 1538) | def _wantsExtendedPaste(self) -> bool: method _onPaste (line 1546) | def _onPaste(self, mode: QClipboard.Mode) -> None: method onPaste (line 1563) | def onPaste(self) -> None: method onMiddleClickPaste (line 1566) | def onMiddleClickPaste(self) -> None: method dragEnterEvent (line 1569) | def dragEnterEvent(self, evt: QDragEnterEvent | None) -> None: method dropEvent (line 1573) | def dropEvent(self, evt: QDropEvent | None) -> None: method _processMime (line 1602) | def _processMime( method _processUrls (line 1642) | def _processUrls( method _processText (line 1661) | def _processText(self, mime: QMimeData, extended: bool = False) -> str... method _processImage (line 1694) | def _processImage(self, mime: QMimeData, extended: bool = False) -> st... method contextMenuEvent (line 1702) | def contextMenuEvent(self, evt: QContextMenuEvent | None) -> None: method _add_cut_action (line 1719) | def _add_cut_action(self, menu: QMenu) -> None: method _add_copy_action (line 1724) | def _add_copy_action(self, menu: QMenu) -> None: method _add_image_menu (line 1729) | def _add_image_menu(self, menu: QMenu) -> None: method _add_image_menu_with_path (line 1741) | def _add_image_menu_with_path(self, menu: QMenu, path: str) -> None: method _clipboard (line 1750) | def _clipboard(self) -> QClipboard: function fontMungeHack (line 1759) | def fontMungeHack(font: str) -> str: function munge_html (line 1763) | def munge_html(txt: str, editor: Editor) -> str: function remove_null_bytes (line 1767) | def remove_null_bytes(txt: str, editor: Editor) -> str: function reverse_url_quoting (line 1772) | def reverse_url_quoting(txt: str, editor: Editor) -> str: function set_cloze_button (line 1783) | def set_cloze_button(editor: Editor) -> None: function set_image_occlusion_button (line 1792) | def set_image_occlusion_button(editor: Editor) -> None: FILE: qt/aqt/emptycards.py function show_empty_cards (line 20) | def show_empty_cards(mw: aqt.main.AnkiQt) -> None: class EmptyCardsDialog (line 35) | class EmptyCardsDialog(QDialog): method __init__ (line 38) | def __init__(self, mw: aqt.main.AnkiQt, report: EmptyCardsReport) -> N... method _on_note_link_clicked (line 76) | def _on_note_link_clicked(self, link: str) -> None: method _on_delete (line 79) | def _on_delete(self) -> None: method _delete_cards (line 96) | def _delete_cards(self, keep_notes: bool) -> int: FILE: qt/aqt/errors.py function show_exception (line 31) | def show_exception(*, parent: QWidget, exception: Exception) -> None: function is_chromium_cert_error (line 66) | def is_chromium_cert_error(error: str) -> bool: function excepthook (line 175) | def excepthook(etype, val, tb) -> None: # type: ignore function _init_message_box (line 181) | def _init_message_box( class ErrorHandler (line 218) | class ErrorHandler(QObject): method __init__ (line 226) | def __init__(self, mw: AnkiQt) -> None: method unload (line 235) | def unload(self) -> None: method write (line 239) | def write(self, data: str) -> None: method setTimer (line 247) | def setTimer(self) -> None: method _setTimer (line 252) | def _setTimer(self) -> None: method tempFolderMsg (line 260) | def tempFolderMsg(self) -> str: method onTimeout (line 263) | def onTimeout(self) -> None: method _addonText (line 315) | def _addonText(self, error: str) -> str: function addon_fmt (line 328) | def addon_fmt(addmgr: AddonManager, addon: AddonMeta) -> str: function addon_debug_info (line 352) | def addon_debug_info() -> str: FILE: qt/aqt/exporting.py class ExportDialog (line 31) | class ExportDialog(QDialog): method __init__ (line 32) | def __init__( method setup (line 51) | def setup(self, did: DeckId | None) -> None: method exporterChanged (line 80) | def exporterChanged(self, idx: int) -> None: method accept (line 107) | def accept(self) -> None: method on_export_finished (line 209) | def on_export_finished(self) -> None: method on_export_failed (line 221) | def on_export_failed(self) -> None: FILE: qt/aqt/fields.py class FieldDialog (line 28) | class FieldDialog(QDialog): method __init__ (line 29) | def __init__( method _on_bridge_cmd (line 76) | def _on_bridge_cmd(self, cmd: str) -> bool: method fillFields (line 81) | def fillFields(self) -> None: method setupSignals (line 87) | def setupSignals(self) -> None: method onDrop (line 97) | def onDrop(self, ev: QDropEvent) -> None: method onRowChange (line 125) | def onRowChange(self, idx: int) -> None: method _uniqueName (line 131) | def _uniqueName(self, prompt: str, old: str = "") -> str | None: method onRename (line 150) | def onRename(self) -> None: method onAdd (line 169) | def onAdd(self) -> None: method onDelete (line 183) | def onDelete(self) -> None: method onPosition (line 203) | def onPosition(self, delta: int = -1) -> None: method onSortField (line 218) | def onSortField(self) -> None: method moveField (line 225) | def moveField(self, pos: int) -> None: method loadField (line 234) | def loadField(self, idx: int) -> None: method saveField (line 247) | def saveField(self) -> None: method reject (line 283) | def reject(self) -> None: method accept (line 294) | def accept(self) -> None: method onHelp (line 305) | def onHelp(self) -> None: FILE: qt/aqt/filtered_deck.py class FilteredDeckConfigDialog (line 30) | class FilteredDeckConfigDialog(QDialog): method __init__ (line 37) | def __init__( method on_fetch_error (line 69) | def on_fetch_error(self, exc: Exception) -> None: method _initial_dialog_setup (line 73) | def _initial_dialog_setup(self) -> None: method load_deck_and_show (line 115) | def load_deck_and_show(self, deck: FilteredDeckForUpdate) -> None: method _load_deck (line 120) | def _load_deck(self) -> None: method reopen (line 172) | def reopen( method set_custom_searches (line 181) | def set_custom_searches(self, search: str | None, search_2: str | None... method on_search_button (line 193) | def on_search_button(self) -> None: method on_search_button_2 (line 196) | def on_search_button_2(self) -> None: method _on_search_button (line 199) | def _on_search_button(self, line: QLineEdit) -> None: method on_hint_button (line 209) | def on_hint_button(self) -> None: method _second_filter (line 228) | def _second_filter(self) -> tuple[str, ...]: method _filtered_search_node (line 233) | def _filtered_search_node(self) -> tuple[SearchNode]: method _onReschedToggled (line 245) | def _onReschedToggled(self, _state: int) -> None: method _on_allow_empty_toggled (line 248) | def _on_allow_empty_toggled(self) -> None: method _update_deck (line 251) | def _update_deck(self) -> bool: method reject (line 287) | def reject(self) -> None: method accept (line 291) | def accept(self) -> None: FILE: qt/aqt/flags.py class Flag (line 17) | class Flag: class FlagManager (line 34) | class FlagManager: method __init__ (line 35) | def __init__(self, mw: aqt.main.AnkiQt) -> None: method all (line 39) | def all(self) -> list[Flag]: method get_flag (line 45) | def get_flag(self, flag_index: int) -> Flag: method rename_flag (line 50) | def rename_flag(self, flag_index: int, new_name: str) -> None: method restore_default_flag_name (line 58) | def restore_default_flag_name(self, flag_index: int) -> None: method require_refresh (line 67) | def require_refresh(self) -> None: method _load_flags (line 71) | def _load_flags(self) -> None: FILE: qt/aqt/import_export/exporting.py class ExportDialog (line 39) | class ExportDialog(QDialog): method __init__ (line 40) | def __init__( method setup (line 58) | def setup(self, did: DeckId | None) -> None: method exporter_changed (line 98) | def exporter_changed(self, idx: int) -> None: method accept (line 113) | def accept(self) -> None: method get_out_path (line 119) | def get_out_path(self) -> str | None: method options (line 141) | def options(self, out_path: str) -> ExportOptions: method current_deck_id (line 162) | def current_deck_id(self) -> DeckId | None: method current_deck (line 165) | def current_deck(self) -> DeckNameId | None: method filename (line 171) | def filename(self) -> str: class ExportOptions (line 182) | class ExportOptions: class Exporter (line 196) | class Exporter(ABC): method export (line 210) | def export(self, mw: aqt.main.AnkiQt, options: ExportOptions) -> None: method name (line 215) | def name() -> str: class ColpkgExporter (line 219) | class ColpkgExporter(Exporter): method name (line 225) | def name() -> str: method export (line 228) | def export(self, mw: aqt.main.AnkiQt, options: ExportOptions) -> None: class ApkgExporter (line 254) | class ApkgExporter(Exporter): method name (line 263) | def name() -> str: method export (line 266) | def export(self, mw: aqt.main.AnkiQt, options: ExportOptions) -> None: class NoteCsvExporter (line 289) | class NoteCsvExporter(Exporter): method name (line 299) | def name() -> str: method export (line 302) | def export(self, mw: aqt.main.AnkiQt, options: ExportOptions) -> None: class CardCsvExporter (line 324) | class CardCsvExporter(Exporter): method name (line 330) | def name() -> str: method export (line 333) | def export(self, mw: aqt.main.AnkiQt, options: ExportOptions) -> None: function export_progress_update (line 351) | def export_progress_update(progress: Progress, update: ProgressUpdate) -... FILE: qt/aqt/import_export/import_dialog.py class ImportArgs (line 20) | class ImportArgs: method args_json (line 26) | def args_json(self) -> str: class JsonFileArgs (line 30) | class JsonFileArgs(ImportArgs): method args_json (line 31) | def args_json(self) -> str: class CsvArgs (line 35) | class CsvArgs(ImportArgs): class AnkiPackageArgs (line 41) | class AnkiPackageArgs(ImportArgs): class ImportDialog (line 47) | class ImportDialog(QDialog): method __init__ (line 52) | def __init__(self, mw: aqt.main.AnkiQt, args: ImportArgs) -> None: method _setup_ui (line 59) | def _setup_ui(self) -> None: method reject (line 77) | def reject(self) -> None: FILE: qt/aqt/import_export/importing.py class Importer (line 30) | class Importer(ABC): method can_import (line 34) | def can_import(cls, lowercase_filename: str) -> bool: method do_import (line 41) | def do_import(cls, mw: aqt.main.AnkiQt, path: str) -> None: ... class ColpkgImporter (line 44) | class ColpkgImporter(Importer): method can_import (line 48) | def can_import(filename: str) -> bool: method do_import (line 56) | def do_import(mw: aqt.main.AnkiQt, path: str) -> None: method _import (line 65) | def _import(mw: aqt.main.AnkiQt, file: str) -> None: class ApkgImporter (line 86) | class ApkgImporter(Importer): method do_import (line 90) | def do_import(mw: aqt.main.AnkiQt, path: str) -> None: class MnemosyneImporter (line 94) | class MnemosyneImporter(Importer): method do_import (line 98) | def do_import(mw: aqt.main.AnkiQt, path: str) -> None: class CsvImporter (line 112) | class CsvImporter(Importer): method do_import (line 116) | def do_import(mw: aqt.main.AnkiQt, path: str) -> None: class JsonImporter (line 120) | class JsonImporter(Importer): method do_import (line 124) | def do_import(mw: aqt.main.AnkiQt, path: str) -> None: function legacy_file_endings (line 136) | def legacy_file_endings(col: Collection) -> list[str]: function import_file (line 148) | def import_file(mw: aqt.main.AnkiQt, path: str) -> None: function prompt_for_file_then_import (line 165) | def prompt_for_file_then_import(mw: aqt.main.AnkiQt) -> None: function get_file_path (line 170) | def get_file_path(mw: aqt.main.AnkiQt) -> str | None: function all_accepted_file_endings (line 183) | def all_accepted_file_endings(mw: aqt.main.AnkiQt) -> set[str]: function import_collection_package_op (line 192) | def import_collection_package_op( function import_progress_update (line 211) | def import_progress_update(progress: Progress, update: ProgressUpdate) -... FILE: qt/aqt/importing.py class ChangeMap (line 37) | class ChangeMap(QDialog): method __init__ (line 38) | def __init__(self, mw: AnkiQt, model: dict, current: str) -> None: method getField (line 63) | def getField(self) -> str | None: method accept (line 67) | def accept(self) -> None: method reject (line 77) | def reject(self) -> None: class ImportDialog (line 85) | class ImportDialog(QDialog): method __init__ (line 88) | def __init__(self, mw: AnkiQt, importer: Any) -> None: method setupOptions (line 119) | def setupOptions(self) -> None: method modelChanged (line 126) | def modelChanged(self, unused: Any | None = None) -> None: method onDelimiter (line 131) | def onDelimiter(self) -> None: method updateDelimiterButtonText (line 165) | def updateDelimiterButtonText(self) -> None: method accept (line 187) | def accept(self) -> None: method setupMappingFrame (line 234) | def setupMappingFrame(self) -> None: method hideMapping (line 243) | def hideMapping(self) -> None: method showMapping (line 246) | def showMapping( method changeMappingNum (line 279) | def changeMappingNum(self, n: int) -> None: method reject (line 298) | def reject(self) -> None: method helpRequested (line 304) | def helpRequested(self) -> None: method importModeChanged (line 307) | def importModeChanged(self, newImportMode: int) -> None: function showUnicodeWarning (line 314) | def showUnicodeWarning() -> None: function onImport (line 319) | def onImport(mw: AnkiQt) -> None: function importFile (line 338) | def importFile(mw: AnkiQt, file: str) -> None: function invalidZipMsg (line 430) | def invalidZipMsg() -> str: function setupApkgImport (line 434) | def setupApkgImport(mw: AnkiQt, importer: AnkiPackageImporter) -> bool: FILE: qt/aqt/legacy.py function bodyClass (line 22) | def bodyClass(col, card) -> str: # type: ignore function allSounds (line 27) | def allSounds(text) -> list: # type: ignore function stripSounds (line 32) | def stripSounds(text) -> str: # type: ignore function fmtTimeSpan (line 37) | def fmtTimeSpan( function install_pylib_legacy (line 49) | def install_pylib_legacy() -> None: FILE: qt/aqt/log.py class AnkiLoggerManager (line 25) | class AnkiLoggerManager(logging.Manager): method __init__ (line 28) | def __init__( method getLogger (line 38) | def getLogger(self, name: str) -> logging.Logger: function get_addon_logs_folder (line 60) | def get_addon_logs_folder(logs_path: Path | str, module: str) -> Path: function find_addon_logger (line 64) | def find_addon_logger(module: str) -> logging.Logger | None: function setup_logging (line 71) | def setup_logging(path: Path | str, **kwargs) -> None: FILE: qt/aqt/main.py class MainWebView (line 108) | class MainWebView(AnkiWebView): method __init__ (line 109) | def __init__(self, mw: AnkiQt) -> None: method dragEnterEvent (line 119) | def dragEnterEvent(self, event: QDragEnterEvent) -> None: method dropEvent (line 131) | def dropEvent(self, event: QDropEvent) -> None: method eventFilter (line 150) | def eventFilter(self, obj: QObject | None, evt: QEvent | None) -> bool: class AnkiQt (line 180) | class AnkiQt(QMainWindow): method __init__ (line 186) | def __init__( method setupUI (line 236) | def setupUI(self) -> None: method finish_ui_setup (line 260) | def finish_ui_setup(self) -> None: method setupProfileAfterWebviewsLoaded (line 266) | def setupProfileAfterWebviewsLoaded(self) -> None: method weakref (line 280) | def weakref(self) -> AnkiQt: method setup_focus (line 284) | def setup_focus(self) -> None: method on_focus_changed (line 287) | def on_focus_changed(self, old: QWidget, new: QWidget) -> None: class ProfileManager (line 293) | class ProfileManager(QMainWindow): method closeEvent (line 297) | def closeEvent(self, evt: QCloseEvent) -> None: method closeWithoutQuitting (line 302) | def closeWithoutQuitting(self) -> None: method setupProfile (line 307) | def setupProfile(self) -> None: method showProfileManager (line 332) | def showProfileManager(self) -> None: method refreshProfilesList (line 358) | def refreshProfilesList(self) -> None: method onProfileRowChange (line 369) | def onProfileRowChange(self, n: int) -> None: method openProfile (line 376) | def openProfile(self) -> None: method onOpenProfile (line 380) | def onOpenProfile(self, *, callback: Callable[[], None] | None = None)... method profileNameOk (line 391) | def profileNameOk(self, name: str) -> bool: method onAddProfile (line 394) | def onAddProfile(self) -> None: method onRenameProfile (line 406) | def onRenameProfile(self) -> None: method onRemProfile (line 420) | def onRemProfile(self) -> None: method _handle_load_backup_success (line 435) | def _handle_load_backup_success(self) -> None: method _handle_load_backup_failure (line 444) | def _handle_load_backup_failure(self, error: Exception) -> None: method onOpenBackup (line 452) | def onOpenBackup(self) -> None: method _start_restore_backup (line 481) | def _start_restore_backup(self, path: str): method _on_downgrade (line 488) | def _on_downgrade(self) -> None: method loadProfile (line 511) | def loadProfile(self, onsuccess: Callable | None = None) -> None: method unloadProfile (line 571) | def unloadProfile(self, onsuccess: Callable) -> None: method _unloadProfile (line 579) | def _unloadProfile(self) -> None: method _checkForUnclosedWidgets (line 592) | def _checkForUnclosedWidgets(self) -> None: method unloadProfileAndExit (line 601) | def unloadProfileAndExit(self) -> None: method unloadProfileAndShowProfileManager (line 604) | def unloadProfileAndShowProfileManager(self) -> None: method cleanupAndExit (line 607) | def cleanupAndExit(self) -> None: method setup_sound (line 627) | def setup_sound(self) -> None: method cleanup_sound (line 630) | def cleanup_sound(self) -> None: method _add_play_buttons (line 633) | def _add_play_buttons(self, text: str) -> str: method prepare_card_text_for_display (line 640) | def prepare_card_text_for_display(self, text: str) -> str: method loadCollection (line 648) | def loadCollection(self) -> bool: method _loadCollection (line 684) | def _loadCollection(self) -> None: method reopen (line 689) | def reopen(self, after_full_sync: bool = False) -> None: method unloadCollection (line 693) | def unloadCollection(self, onsuccess: Callable) -> None: method _unloadCollection (line 707) | def _unloadCollection(self) -> None: method apply_collection_options (line 747) | def apply_collection_options(self) -> None: method maybeOptimize (line 756) | def maybeOptimize(self) -> None: method moveToState (line 770) | def moveToState(self, state: MainWindowState, *args: Any) -> None: method _deckBrowserState (line 784) | def _deckBrowserState(self, oldState: MainWindowState) -> None: method _selectedDeck (line 787) | def _selectedDeck(self) -> DeckDict | None: method _overviewState (line 794) | def _overviewState(self, oldState: MainWindowState) -> None: method _reviewState (line 799) | def _reviewState(self, oldState: MainWindowState) -> None: method _reviewCleanup (line 820) | def _reviewCleanup(self, newState: MainWindowState) -> None: method _increase_background_ops (line 831) | def _increase_background_ops(self) -> None: method _decrease_background_ops (line 836) | def _decrease_background_ops(self) -> None: method _synthesize_op_did_execute_from_reset (line 843) | def _synthesize_op_did_execute_from_reset(self) -> None: method on_operation_did_execute (line 852) | def on_operation_did_execute( method on_focus_did_change (line 875) | def on_focus_did_change( method fade_out_webview (line 887) | def fade_out_webview(self) -> None: method fade_in_webview (line 890) | def fade_in_webview(self) -> None: method reset (line 893) | def reset(self, unused_arg: bool = False) -> None: method requireReset (line 908) | def requireReset( method maybeReset (line 918) | def maybeReset(self) -> None: method delayedMaybeReset (line 921) | def delayedMaybeReset(self) -> None: method _resetRequiredState (line 924) | def _resetRequiredState(self, oldState: MainWindowState) -> None: method button (line 930) | def button( method setupMainWindow (line 958) | def setupMainWindow(self) -> None: method closeAllWindows (line 987) | def closeAllWindows(self, onsuccess: Callable) -> None: method setupSignals (line 993) | def setupSignals(self) -> None: method onUnixSignal (line 997) | def onUnixSignal(self, signum: Any, frame: Any) -> None: method setupProgress (line 1003) | def setupProgress(self) -> None: method setupErrorHandler (line 1006) | def setupErrorHandler(self) -> None: method setupAddons (line 1011) | def setupAddons(self, args: list | None) -> None: method maybe_check_for_addon_updates (line 1022) | def maybe_check_for_addon_updates( method check_for_addon_updates (line 1038) | def check_for_addon_updates( method on_updates_installed (line 1056) | def on_updates_installed(self, log: list[DownloadLogEntry]) -> None: method setupSpellCheck (line 1060) | def setupSpellCheck(self) -> None: method setupThreads (line 1065) | def setupThreads(self) -> None: method inMainThread (line 1069) | def inMainThread(self) -> bool: method setupDeckBrowser (line 1072) | def setupDeckBrowser(self) -> None: method setupOverview (line 1077) | def setupOverview(self) -> None: method setupReviewer (line 1082) | def setupReviewer(self) -> None: method on_sync_button_clicked (line 1090) | def on_sync_button_clicked(self) -> None: method _refresh_after_sync (line 1103) | def _refresh_after_sync(self) -> None: method _sync_collection_and_media (line 1107) | def _sync_collection_and_media(self, after_sync: Callable[[], None]) -... method maybe_auto_sync_on_open_close (line 1120) | def maybe_auto_sync_on_open_close(self, after_sync: Callable[[bool], N... method can_auto_sync (line 1127) | def can_auto_sync(self) -> bool: method _can_sync_unattended (line 1131) | def _can_sync_unattended(self) -> bool: method _sync (line 1139) | def _sync(self) -> None: method raiseMain (line 1147) | def raiseMain(self) -> bool: method setupStyle (line 1153) | def setupStyle(self) -> None: method set_theme (line 1171) | def set_theme(self, theme: Theme) -> None: method setupKeys (line 1178) | def setupKeys(self) -> None: method _close_active_window (line 1192) | def _close_active_window(self) -> None: method _normalize_shortcuts (line 1208) | def _normalize_shortcuts( method applyShortcuts (line 1219) | def applyShortcuts( method setStateShortcuts (line 1229) | def setStateShortcuts(self, shortcuts: list[tuple[str, Callable]]) -> ... method clearStateShortcuts (line 1235) | def clearStateShortcuts(self) -> None: method onStudyKey (line 1240) | def onStudyKey(self) -> None: method closeEvent (line 1250) | def closeEvent(self, event: QCloseEvent) -> None: method undo (line 1264) | def undo(self) -> None: method redo (line 1268) | def redo(self) -> None: method undo_actions_info (line 1272) | def undo_actions_info(self) -> UndoActionsInfo: method update_undo_actions (line 1277) | def update_undo_actions(self) -> None: method checkpoint (line 1292) | def checkpoint(self, name: str) -> None: method autosave (line 1296) | def autosave(self) -> None: method onAddCard (line 1304) | def onAddCard(self) -> None: method onBrowse (line 1307) | def onBrowse(self) -> None: method onEditCurrent (line 1310) | def onEditCurrent(self) -> None: method onOverview (line 1313) | def onOverview(self) -> None: method onStats (line 1316) | def onStats(self) -> None: method onPrefs (line 1326) | def onPrefs(self) -> None: method on_upgrade_downgrade (line 1329) | def on_upgrade_downgrade(self) -> None: method onNoteTypes (line 1337) | def onNoteTypes(self) -> None: method onAbout (line 1342) | def onAbout(self) -> None: method onDonate (line 1345) | def onDonate(self) -> None: method onDocumentation (line 1348) | def onDocumentation(self) -> None: method onDeckConf (line 1353) | def onDeckConf(self, deck: DeckDict | None = None) -> None: method handleImport (line 1359) | def handleImport(self, path: str) -> None: method onImport (line 1375) | def onImport(self) -> None: method onExport (line 1384) | def onExport(self, did: DeckId | None = None) -> None: method installAddon (line 1395) | def installAddon(self, path: str, startup: bool = False) -> None: method onCram (line 1411) | def onCram(self) -> None: method setupMenus (line 1417) | def setupMenus(self) -> None: method updateTitleBar (line 1471) | def updateTitleBar(self) -> None: method on_toggle_full_screen (line 1477) | def on_toggle_full_screen(self) -> None: method hide_menubar (line 1503) | def hide_menubar(self) -> None: method show_menubar (line 1506) | def show_menubar(self) -> None: method setup_auto_update (line 1513) | def setup_auto_update(self, _log: list[DownloadLogEntry]) -> None: method setup_timers (line 1522) | def setup_timers(self) -> None: method onRefreshTimer (line 1544) | def onRefreshTimer(self) -> None: method on_periodic_sync_timer (line 1550) | def on_periodic_sync_timer(self) -> None: method on_periodic_backup_timer (line 1564) | def on_periodic_backup_timer(self) -> None: method on_create_backup_now (line 1568) | def on_create_backup_now(self) -> None: method create_backup_now (line 1571) | def create_backup_now(self) -> None: method _create_backup_with_progress (line 1581) | def _create_backup_with_progress(self, user_initiated: bool) -> None: method setupHooks (line 1622) | def setupHooks(self) -> None: method onOdueInvalid (line 1634) | def onOdueInvalid(self) -> None: method _isVideo (line 1637) | def _isVideo(self, tag: AVTag) -> bool: method on_av_player_will_play (line 1644) | def on_av_player_will_play(self, tag: AVTag) -> None: method on_av_player_did_end_playing (line 1651) | def on_av_player_did_end_playing(self, player: Any) -> None: method onRemNotes (line 1662) | def onRemNotes(self, col: Collection, nids: Sequence[NoteId]) -> None: method onSchemaMod (line 1681) | def onSchemaMod(self, arg: bool) -> bool: method confirm_schema_modification (line 1693) | def confirm_schema_modification(self) -> bool: method onCheckDB (line 1703) | def onCheckDB(self) -> None: method on_check_media_db (line 1706) | def on_check_media_db(self) -> None: method onStudyDeck (line 1710) | def onStudyDeck(self) -> None: method onEmptyCards (line 1729) | def onEmptyCards(self) -> None: method setupSystemSpecific (line 1735) | def setupSystemSpecific(self) -> None: method _setupWin32 (line 1747) | def _setupWin32(self): method maybeHideAccelerators (line 1777) | def maybeHideAccelerators(self, tgt: Any | None = None) -> None: method hideStatusTips (line 1788) | def hideStatusTips(self) -> None: method onMacMinimize (line 1794) | def onMacMinimize(self) -> None: method setupAppMsg (line 1800) | def setupAppMsg(self) -> None: method onAppMsg (line 1803) | def onAppMsg(self, buf: str) -> None: method _isAddon (line 1854) | def _isAddon(self, buf: str) -> bool: method interactiveState (line 1858) | def interactiveState(self) -> bool: method garbage_collect_on_dialog_finish (line 1871) | def garbage_collect_on_dialog_finish(self, dialog: QDialog) -> None: method deferred_delete_and_garbage_collect (line 1876) | def deferred_delete_and_garbage_collect(self, obj: QObject) -> None: method disable_automatic_garbage_collection (line 1880) | def disable_automatic_garbage_collection(self) -> None: method garbage_collect_now (line 1884) | def garbage_collect_now(self) -> None: method setupMediaServer (line 1898) | def setupMediaServer(self) -> None: method baseHTML (line 1902) | def baseHTML(self) -> str: method serverURL (line 1905) | def serverURL(self) -> str: class ResetReason (line 1910) | class ResetReason(enum.Enum): FILE: qt/aqt/mediacheck.py function chunked_list (line 36) | def chunked_list(l: Iterable[T], n: int) -> Iterable[list[T]]: function check_media_db (line 45) | def check_media_db(mw: aqt.AnkiQt) -> None: class MediaChecker (line 50) | class MediaChecker: method __init__ (line 53) | def __init__(self, mw: aqt.AnkiQt) -> None: method check (line 57) | def check(self) -> None: method _set_progress_enabled (line 62) | def _set_progress_enabled(self, enabled: bool) -> None: method _on_progress (line 74) | def _on_progress(self) -> None: method _check (line 92) | def _check(self) -> CheckMediaResponse: method _on_finished (line 96) | def _on_finished(self, future: Future) -> None: method _on_render_latex (line 167) | def _on_render_latex(self) -> None: method _on_render_latex_progress (line 185) | def _on_render_latex_progress(self, count: int) -> bool: method _on_trash_files (line 193) | def _on_trash_files(self, fnames: Sequence[str]) -> None: method _on_empty_trash (line 224) | def _on_empty_trash(self) -> None: method _on_restore_trash (line 241) | def _on_restore_trash(self) -> None: method _on_view_files (line 258) | def _on_view_files(self) -> None: function add_missing_media_tag (line 262) | def add_missing_media_tag(parent: QWidget, missing_media_notes: Sequence... FILE: qt/aqt/mediasrv.py class LocalFileRequest (line 52) | class LocalFileRequest: class BundledFileRequest (line 60) | class BundledFileRequest: class NotFound (line 66) | class NotFound: class PageContext (line 73) | class PageContext(enum.IntEnum): class LegacyPage (line 88) | class LegacyPage: class MediaServer (line 93) | class MediaServer(threading.Thread): method __init__ (line 97) | def __init__(self, mw: aqt.main.AnkiQt) -> None: method run (line 103) | def run(self) -> None: method shutdown (line 126) | def shutdown(self) -> None: method getPort (line 134) | def getPort(self) -> int: method set_page_html (line 138) | def set_page_html( method get_page (line 143) | def get_page(self, id: int) -> LegacyPage | None: method get_page_html (line 146) | def get_page_html(self, id: int) -> str | None: method get_page_context (line 152) | def get_page_context(self, id: int) -> PageContext | None: method clear_page_html (line 158) | def clear_page_html(self, id: int) -> None: function favicon (line 166) | def favicon() -> Response: function _mime_for_path (line 171) | def _mime_for_path(path: str) -> str: function _text_response (line 213) | def _text_response(code: HTTPStatus, text: str) -> Response: function _handle_local_file_request (line 223) | def _handle_local_file_request(request: LocalFileRequest) -> Response: function _builtin_data (line 285) | def _builtin_data(path: str) -> bytes: function _handle_builtin_file_request (line 292) | def _handle_builtin_file_request(request: BundledFileRequest) -> Response: function handle_request (line 328) | def handle_request(pathin: str) -> Response: function is_sveltekit_page (line 354) | def is_sveltekit_page(path: str) -> bool: function _extract_internal_request (line 369) | def _extract_internal_request( function _extract_addon_request (line 421) | def _extract_addon_request(path: str) -> LocalFileRequest | NotFound | N... function _extract_request (line 453) | def _extract_request( function congrats_info (line 468) | def congrats_info() -> bytes: function get_deck_configs_for_update (line 474) | def get_deck_configs_for_update() -> bytes: function update_deck_configs (line 478) | def update_deck_configs() -> bytes: function get_scheduling_states_with_context (line 527) | def get_scheduling_states_with_context() -> bytes: function set_scheduling_states (line 534) | def set_scheduling_states() -> bytes: function import_done (line 541) | def import_done() -> bytes: function import_request (line 555) | def import_request(endpoint: str) -> bytes: function import_csv (line 569) | def import_csv() -> bytes: function import_anki_package (line 573) | def import_anki_package() -> bytes: function import_json_file (line 577) | def import_json_file() -> bytes: function import_json_string (line 581) | def import_json_string() -> bytes: function search_in_browser (line 585) | def search_in_browser() -> bytes: function change_notetype (line 597) | def change_notetype() -> bytes: function deck_options_require_close (line 609) | def deck_options_require_close() -> bytes: function deck_options_ready (line 621) | def deck_options_ready() -> bytes: function save_custom_colours (line 631) | def save_custom_colours() -> bytes: function raw_backend_request (line 704) | def raw_backend_request(endpoint: str) -> Callable[[], bytes]: function _extract_collection_post_request (line 722) | def _extract_collection_post_request(path: str) -> DynamicRequest | NotF... function _check_dynamic_request_permissions (line 744) | def _check_dynamic_request_permissions(): function _handle_dynamic_request (line 777) | def _handle_dynamic_request(req: DynamicRequest) -> Response: function legacy_page_data (line 785) | def legacy_page_data() -> Response: function _have_api_access (line 809) | def _have_api_access() -> bool: function _extract_dynamic_get_request (line 818) | def _extract_dynamic_get_request(path: str) -> DynamicRequest | None: FILE: qt/aqt/mediasync.py class MediaSyncer (line 24) | class MediaSyncer: method __init__ (line 25) | def __init__(self, mw: aqt.main.AnkiQt) -> None: method start (line 32) | def start(self, is_periodic_sync: bool = False) -> None: method start_monitoring (line 50) | def start_monitoring(self, is_periodic_sync: bool = False) -> None: method _update_progress (line 73) | def _update_progress(self, progress: str) -> None: method _on_finished (line 77) | def _on_finished(self, future: Future, is_periodic_sync: bool = False)... method _handle_sync_error (line 88) | def _handle_sync_error( method abort (line 99) | def abort(self) -> None: method is_syncing (line 106) | def is_syncing(self) -> bool: method _on_start_stop (line 109) | def _on_start_stop(self, running: bool) -> None: method show_sync_log (line 112) | def show_sync_log(self) -> None: method show_diag_until_finished (line 115) | def show_diag_until_finished(self, on_finished: Callable[[], None]) ->... method seconds_since_last_sync (line 132) | def seconds_since_last_sync(self) -> int: class MediaSyncDialog (line 139) | class MediaSyncDialog(QDialog): method __init__ (line 142) | def __init__( method reject (line 167) | def reject(self) -> None: method reopen (line 176) | def reopen( method _on_abort (line 182) | def _on_abort(self, *_args: Any) -> None: method _on_log_entry (line 186) | def _on_log_entry(self, entry: str) -> None: method _on_start_stop (line 194) | def _on_start_stop(self, running: bool) -> None: FILE: qt/aqt/modelchooser.py class ModelChooser (line 12) | class ModelChooser(QHBoxLayout): method __init__ (line 15) | def __init__( method setupModels (line 40) | def setupModels(self) -> None: method cleanup (line 56) | def cleanup(self) -> None: method onReset (line 59) | def onReset(self) -> None: method show (line 62) | def show(self) -> None: method hide (line 65) | def hide(self) -> None: method onEdit (line 68) | def onEdit(self) -> None: method onModelChange (line 73) | def onModelChange(self) -> None: method updateModels (line 109) | def updateModels(self) -> None: FILE: qt/aqt/models.py class Models (line 39) | class Models(QDialog): method __init__ (line 40) | def __init__( method maybe_select_provided_notetype (line 76) | def maybe_select_provided_notetype( method setupModels (line 91) | def setupModels(self) -> None: method refresh_list (line 125) | def refresh_list(self, selected_notetype_id: NotetypeId | None = None)... method onRename (line 134) | def onRename(self) -> None: method updateModelsList (line 145) | def updateModelsList( method current_notetype (line 162) | def current_notetype(self) -> NotetypeDict: method onAdd (line 166) | def onAdd(self) -> None: method onDelete (line 189) | def onDelete(self) -> None: method onAdvanced (line 210) | def onAdvanced(self) -> None: method _tmpNote (line 234) | def _tmpNote(self) -> Note: method onFields (line 238) | def onFields(self) -> None: method onCards (line 243) | def onCards(self) -> None: method reject (line 252) | def reject(self) -> None: class AddModel (line 257) | class AddModel(QDialog): method __init__ (line 260) | def __init__( method reject (line 295) | def reject(self) -> None: method accept (line 298) | def accept(self) -> None: method onHelp (line 310) | def onHelp(self) -> None: FILE: qt/aqt/mpv.py class MPVError (line 48) | class MPVError(Exception): class MPVProcessError (line 52) | class MPVProcessError(MPVError): class MPVCommunicationError (line 56) | class MPVCommunicationError(MPVError): class MPVCommandError (line 60) | class MPVCommandError(MPVError): class MPVTimeoutError (line 64) | class MPVTimeoutError(MPVError): class MPVBase (line 76) | class MPVBase: method __init__ (line 101) | def __init__(self, window_id=None, debug=False): method __del__ (line 112) | def __del__(self): method _thread_id (line 117) | def _thread_id(self): method _prepare_process (line 123) | def _prepare_process(self): method _start_process (line 131) | def _start_process(self): method _stop_process (line 151) | def _stop_process(self): method _prepare_socket (line 163) | def _prepare_socket(self): method _start_socket (line 174) | def _start_socket(self): method _stop_socket (line 220) | def _stop_socket(self): method _prepare_thread (line 230) | def _prepare_thread(self): method _start_thread (line 237) | def _start_thread(self): method _stop_thread (line 243) | def _stop_thread(self): method _reader (line 250) | def _reader(self): method _compose_message (line 295) | def _compose_message(self, message): method _parse_message (line 301) | def _parse_message(self, data): method _handle_message (line 307) | def _handle_message(self, message): method _send_message (line 327) | def _send_message(self, message, timeout=None): method _get_response (line 364) | def _get_response(self, timeout=None): method _get_event (line 381) | def _get_event(self, timeout=None): method _send_request (line 391) | def _send_request(self, message, timeout=None, _retry=1): method _register_callbacks (line 407) | def _register_callbacks(self): method is_running (line 415) | def is_running(self): method ensure_running (line 419) | def ensure_running(self): method close (line 432) | def close(self): class MPV (line 442) | class MPV(MPVBase): method __init__ (line 462) | def __init__(self, *args, **kwargs): method _register_callbacks (line 470) | def _register_callbacks(self): method _start_thread (line 511) | def _start_thread(self): method _event_reader (line 522) | def _event_reader(self): method _handle_event (line 531) | def _handle_event(self, message): method register_callback (line 548) | def register_callback(self, name, callback): method unregister_callback (line 557) | def unregister_callback(self, name, callback): method register_property_callback (line 571) | def register_property_callback(self, name, callback): method unregister_property_callback (line 593) | def unregister_property_callback(self, name, callback): method command (line 615) | def command(self, *args, timeout=1): method get_property (line 619) | def get_property(self, name): method set_property (line 623) | def set_property(self, name, value): FILE: qt/aqt/notetypechooser.py class NotetypeChooser (line 15) | class NotetypeChooser(QHBoxLayout): method __init__ (line 32) | def __init__( method _setup_ui (line 58) | def _setup_ui(self, show_label: bool) -> None: method cleanup (line 80) | def cleanup(self) -> None: method reset_state (line 84) | def reset_state(self) -> None: method show (line 87) | def show(self) -> None: method hide (line 90) | def hide(self) -> None: method onEdit (line 93) | def onEdit(self) -> None: method choose_notetype (line 98) | def choose_notetype(self) -> None: method selected_notetype_id (line 133) | def selected_notetype_id(self) -> NotetypeId: method selected_notetype_id (line 141) | def selected_notetype_id(self, id: NotetypeId) -> None: method selected_notetype_name (line 149) | def selected_notetype_name(self) -> str: method _ensure_selected_notetype_valid (line 154) | def _ensure_selected_notetype_valid(self) -> None: method _update_button_label (line 160) | def _update_button_label(self) -> None: method on_operation_did_execute (line 163) | def on_operation_did_execute( FILE: qt/aqt/operations/__init__.py class HasChangesProperty (line 28) | class HasChangesProperty(Protocol): class CollectionOp (line 49) | class CollectionOp(Generic[ResultWithChanges]): method __init__ (line 77) | def __init__(self, parent: QWidget, op: Callable[[Collection], ResultW... method success (line 81) | def success( method failure (line 87) | def failure( method with_backend_progress (line 93) | def with_backend_progress( method run_in_background (line 99) | def run_in_background(self, *, initiator: object | None = None) -> None: method _run (line 134) | def _run( function on_op_finished (line 148) | def on_op_finished( class QueryOp (line 168) | class QueryOp(Generic[T]): method __init__ (line 194) | def __init__( method failure (line 206) | def failure(self, failure: Callable[[Exception], Any] | None) -> Query... method without_collection (line 210) | def without_collection(self) -> QueryOp[T]: method with_progress (line 220) | def with_progress( method with_backend_progress (line 228) | def with_backend_progress( method run_in_background (line 234) | def run_in_background(self) -> None: method _run (line 265) | def _run( FILE: qt/aqt/operations/card.py function set_card_deck (line 16) | def set_card_deck( function set_card_flag (line 24) | def set_card_flag( FILE: qt/aqt/operations/collection.py function undo (line 14) | def undo(*, parent: QWidget) -> None: function redo (line 30) | def redo(*, parent: QWidget) -> None: function set_preferences (line 39) | def set_preferences( FILE: qt/aqt/operations/deck.py function remove_decks (line 16) | def remove_decks( function reparent_decks (line 33) | def reparent_decks( function rename_deck (line 45) | def rename_deck( function add_deck_dialog (line 57) | def add_deck_dialog( function add_deck (line 73) | def add_deck(*, parent: QWidget, name: str) -> CollectionOp[OpChangesWit... function set_deck_collapsed (line 77) | def set_deck_collapsed( function set_current_deck (line 92) | def set_current_deck(*, parent: QWidget, deck_id: DeckId) -> CollectionO... function update_deck_configs (line 96) | def update_deck_configs( function update_deck_dict (line 102) | def update_deck_dict(*, parent: QWidget, deck: DeckDict) -> CollectionOp... FILE: qt/aqt/operations/note.py function add_note (line 16) | def add_note( function update_note (line 25) | def update_note(*, parent: QWidget, note: Note) -> CollectionOp[OpChanges]: function update_notes (line 29) | def update_notes(*, parent: QWidget, notes: Sequence[Note]) -> Collectio... function remove_notes (line 35) | def remove_notes( function find_and_replace (line 45) | def find_and_replace( FILE: qt/aqt/operations/notetype.py function add_notetype_legacy (line 13) | def add_notetype_legacy( function update_notetype_legacy (line 21) | def update_notetype_legacy( function remove_notetype (line 32) | def remove_notetype( function change_notetype_of_notes (line 40) | def change_notetype_of_notes( function restore_notetype_to_stock (line 46) | def restore_notetype_to_stock( FILE: qt/aqt/operations/scheduling.py function set_due_date_dialog (line 30) | def set_due_date_dialog( function grade_now (line 68) | def grade_now( function forget_cards (line 95) | def forget_cards( function reposition_new_cards_dialog (line 134) | def reposition_new_cards_dialog( function reposition_new_cards (line 186) | def reposition_new_cards( function suspend_cards (line 211) | def suspend_cards( function suspend_note (line 219) | def suspend_note( function unsuspend_cards (line 227) | def unsuspend_cards( function bury_cards (line 233) | def bury_cards( function bury_notes (line 241) | def bury_notes( function unbury_cards (line 249) | def unbury_cards( function rebuild_filtered_deck (line 255) | def rebuild_filtered_deck( function empty_filtered_deck (line 261) | def empty_filtered_deck(*, parent: QWidget, deck_id: DeckId) -> Collecti... function add_or_update_filtered_deck (line 265) | def add_or_update_filtered_deck( function unbury_deck (line 273) | def unbury_deck( function answer_card (line 284) | def answer_card( function custom_study (line 296) | def custom_study( FILE: qt/aqt/operations/tag.py function add_tags_to_notes (line 15) | def add_tags_to_notes( function remove_tags_from_notes (line 28) | def remove_tags_from_notes( function clear_unused_tags (line 41) | def clear_unused_tags(*, parent: QWidget) -> CollectionOp[OpChangesWithC... function rename_tag (line 49) | def rename_tag( function remove_tags_from_all_notes (line 67) | def remove_tags_from_all_notes( function reparent_tags (line 77) | def reparent_tags( function set_tag_collapsed (line 87) | def set_tag_collapsed( function find_and_replace_tag (line 95) | def find_and_replace_tag( FILE: qt/aqt/overview.py class OverviewBottomBar (line 28) | class OverviewBottomBar: method __init__ (line 29) | def __init__(self, overview: Overview) -> None: class OverviewContent (line 34) | class OverviewContent: class Overview (line 51) | class Overview: method __init__ (line 54) | def __init__(self, mw: aqt.AnkiQt) -> None: method show (line 60) | def show(self) -> None: method refresh (line 66) | def refresh(self) -> None: method refresh_if_needed (line 78) | def refresh_if_needed(self) -> None: method op_executed (line 82) | def op_executed( method _linkHandler (line 96) | def _linkHandler(self, url: str) -> bool: method _shortcutKeys (line 126) | def _shortcutKeys(self) -> list[tuple[str, Callable]]: method _current_deck_is_filtered (line 135) | def _current_deck_is_filtered(self) -> int: method rebuild_current_filtered_deck (line 138) | def rebuild_current_filtered_deck(self) -> None: method empty_current_filtered_deck (line 143) | def empty_current_filtered_deck(self) -> None: method onCustomStudyKey (line 148) | def onCustomStudyKey(self) -> None: method on_unbury (line 152) | def on_unbury(self) -> None: method _renderPage (line 182) | def _renderPage(self) -> None: method _show_finished_screen (line 208) | def _show_finished_screen(self) -> None: method _desc (line 211) | def _desc(self, deck: dict[str, Any]) -> str: method _table (line 228) | def _table(self) -> str: method edit_description (line 277) | def edit_description(self) -> None: method _renderBottom (line 283) | def _renderBottom(self) -> None: method onStudyMore (line 319) | def onStudyMore(self) -> None: FILE: qt/aqt/package.py function first_run_setup (line 18) | def first_run_setup() -> None: function uv_binary (line 73) | def uv_binary() -> str | None: function launcher_root (line 78) | def launcher_root() -> str | None: function venv_binary (line 83) | def venv_binary(cmd: str) -> str | None: function add_python_requirements (line 98) | def add_python_requirements(reqs: list[str]) -> tuple[bool, str]: function launcher_executable (line 121) | def launcher_executable() -> str | None: function trigger_launcher_run (line 126) | def trigger_launcher_run() -> None: function update_and_restart (line 139) | def update_and_restart() -> None: FILE: qt/aqt/preferences.py class Preferences (line 37) | class Preferences(QDialog): method __init__ (line 38) | def __init__(self, mw: AnkiQt) -> None: method setup_configurable_answer_keys (line 71) | def setup_configurable_answer_keys(self): method accept (line 97) | def accept(self) -> None: method accept_with_callback (line 100) | def accept_with_callback(self, callback: Callable[[], None] | None = N... method reject (line 117) | def reject(self) -> None: method setup_collection (line 123) | def setup_collection(self) -> None: method update_collection (line 161) | def update_collection(self, on_done: Callable[[], None]) -> None: method setup_profile (line 201) | def setup_profile(self) -> None: method update_profile (line 205) | def update_profile(self) -> None: method setup_network (line 211) | def setup_network(self) -> None: method update_login_status (line 239) | def update_login_status(self) -> None: method on_media_log (line 259) | def on_media_log(self) -> None: method sync_login (line 262) | def sync_login(self) -> None: method sync_logout (line 272) | def sync_logout(self) -> None: method ankihub_sync_login (line 281) | def ankihub_sync_login(self) -> None: method ankihub_sync_logout (line 288) | def ankihub_sync_logout(self) -> None: method confirm_sync_after_login (line 294) | def confirm_sync_after_login(self) -> None: method update_network (line 300) | def update_network(self) -> None: method setup_global (line 315) | def setup_global(self) -> None: method update_global (line 386) | def update_global(self) -> None: method on_theme_changed (line 401) | def on_theme_changed(self, index: int) -> None: method on_reset_window_sizes (line 404) | def on_reset_window_sizes(self) -> None: method setupOptions (line 414) | def setupOptions(self) -> None: method updateOptions (line 417) | def updateOptions(self) -> None: method setup_language (line 423) | def setup_language(self) -> None: method current_lang_index (line 429) | def current_lang_index(self) -> int: method on_language_index_changed (line 441) | def on_language_index_changed(self, idx: int) -> None: method setup_video_driver (line 449) | def setup_video_driver(self) -> None: method update_video_driver (line 457) | def update_video_driver(self) -> None: function video_driver_name_for_platform (line 464) | def video_driver_name_for_platform(driver: VideoDriver) -> str: FILE: qt/aqt/profiles.py class VideoDriver (line 44) | class VideoDriver(Enum): method default_for_platform (line 53) | def default_for_platform() -> VideoDriver: method constrained_to_platform (line 56) | def constrained_to_platform(self) -> VideoDriver: method next (line 61) | def next(self) -> VideoDriver: method all_for_platform (line 70) | def all_for_platform() -> list[VideoDriver]: class LoadMetaResult (line 123) | class LoadMetaResult: class ProfileManager (line 128) | class ProfileManager: method __init__ (line 132) | def __init__(self, base: Path) -> None: method setupMeta (line 142) | def setupMeta(self) -> LoadMetaResult: method openProfile (line 151) | def openProfile(self, profile: str) -> None: method profiles (line 163) | def profiles(self) -> list[str]: method _unpickle (line 174) | def _unpickle(self, data: bytes) -> Any: method _pickle (line 205) | def _pickle(self, obj: Any) -> bytes: method load (line 212) | def load(self, name: str) -> bool: method save (line 235) | def save(self) -> None: method create (line 241) | def create(self, name: str) -> None: method remove (line 252) | def remove(self, name: str) -> None: method trashCollection (line 258) | def trashCollection(self) -> None: method rename (line 262) | def rename(self, name: str) -> None: method profileFolder (line 308) | def profileFolder(self, create: bool = True) -> str: method addonFolder (line 314) | def addonFolder(self) -> str: method backupFolder (line 317) | def backupFolder(self) -> str: method collectionPath (line 320) | def collectionPath(self) -> str: method addon_logs (line 323) | def addon_logs(self) -> str: method downgrade (line 329) | def downgrade(self, profiles: list[str]) -> list[str]: method _ensureExists (line 351) | def _ensureExists(self, path: str) -> str: method get_created_base_folder (line 357) | def get_created_base_folder(path_override: str | None) -> Path: method _default_base (line 368) | def _default_base() -> str: method _loadMeta (line 383) | def _loadMeta(self, retrying: bool = False) -> LoadMetaResult: method _ensureProfile (line 448) | def _ensureProfile(self) -> None: method setDefaultLang (line 466) | def setDefaultLang(self, idx: int) -> None: method _onLangSelected (line 483) | def _onLangSelected(self) -> None: method setLang (line 499) | def setLang(self, code: str) -> None: method _gldriver_path (line 509) | def _gldriver_path(self) -> str: method video_driver (line 516) | def video_driver(self) -> VideoDriver: method set_video_driver (line 525) | def set_video_driver(self, driver: VideoDriver) -> None: method set_next_video_driver (line 529) | def set_next_video_driver(self) -> None: method uiScale (line 535) | def uiScale(self) -> float: method setUiScale (line 539) | def setUiScale(self, scale: float) -> None: method reduce_motion (line 542) | def reduce_motion(self) -> bool: method set_reduce_motion (line 545) | def set_reduce_motion(self, on: bool) -> None: method minimalist_mode (line 549) | def minimalist_mode(self) -> bool: method set_minimalist_mode (line 552) | def set_minimalist_mode(self, on: bool) -> None: method spacebar_rates_card (line 556) | def spacebar_rates_card(self) -> bool: method set_spacebar_rates_card (line 559) | def set_spacebar_rates_card(self, on: bool) -> None: method get_answer_key (line 562) | def get_answer_key(self, ease: int) -> str | None: method set_answer_key (line 565) | def set_answer_key(self, ease: int, key: str): method hide_top_bar (line 568) | def hide_top_bar(self) -> bool: method set_hide_top_bar (line 571) | def set_hide_top_bar(self, on: bool) -> None: method top_bar_hide_mode (line 575) | def top_bar_hide_mode(self) -> HideMode: method set_top_bar_hide_mode (line 578) | def set_top_bar_hide_mode(self, mode: HideMode) -> None: method hide_bottom_bar (line 582) | def hide_bottom_bar(self) -> bool: method set_hide_bottom_bar (line 585) | def set_hide_bottom_bar(self, on: bool) -> None: method bottom_bar_hide_mode (line 589) | def bottom_bar_hide_mode(self) -> HideMode: method set_bottom_bar_hide_mode (line 592) | def set_bottom_bar_hide_mode(self, mode: HideMode) -> None: method last_addon_update_check (line 596) | def last_addon_update_check(self) -> int: method set_last_addon_update_check (line 599) | def set_last_addon_update_check(self, secs: int) -> None: method check_for_addon_updates (line 602) | def check_for_addon_updates(self) -> bool: method set_check_for_addon_updates (line 605) | def set_check_for_addon_updates(self, on: bool) -> None: method night_mode (line 609) | def night_mode(self) -> bool: method theme (line 612) | def theme(self) -> Theme: method set_theme (line 615) | def set_theme(self, theme: Theme) -> None: method set_widget_style (line 618) | def set_widget_style(self, style: WidgetStyle) -> None: method get_widget_style (line 622) | def get_widget_style(self) -> WidgetStyle: method browser_layout (line 627) | def browser_layout(self) -> BrowserLayout: method set_browser_layout (line 632) | def set_browser_layout(self, layout: BrowserLayout) -> None: method editor_key (line 635) | def editor_key(self, mode: EditorMode) -> str: method tags_collapsed (line 644) | def tags_collapsed(self, mode: EditorMode) -> bool: method set_tags_collapsed (line 647) | def set_tags_collapsed(self, mode: EditorMode, collapsed: bool) -> None: method legacy_import_export (line 650) | def legacy_import_export(self) -> bool: method set_legacy_import_export (line 654) | def set_legacy_import_export(self, enabled: bool) -> None: method last_loaded_profile_name (line 657) | def last_loaded_profile_name(self) -> str | None: method set_last_loaded_profile_name (line 660) | def set_last_loaded_profile_name(self, name: str) -> None: method set_sync_key (line 666) | def set_sync_key(self, val: str | None) -> None: method set_sync_username (line 669) | def set_sync_username(self, val: str | None) -> None: method set_host_number (line 672) | def set_host_number(self, val: int | None) -> None: method check_for_updates (line 675) | def check_for_updates(self) -> bool: method set_update_check (line 678) | def set_update_check(self, on: bool) -> None: method media_syncing_enabled (line 681) | def media_syncing_enabled(self) -> bool: method auto_syncing_enabled (line 684) | def auto_syncing_enabled(self) -> bool: method sync_auth (line 688) | def sync_auth(self) -> SyncAuth | None: method clear_sync_auth (line 697) | def clear_sync_auth(self) -> None: method sync_endpoint (line 703) | def sync_endpoint(self) -> str | None: method _current_sync_url (line 706) | def _current_sync_url(self) -> str | None: method set_current_sync_url (line 710) | def set_current_sync_url(self, url: str | None) -> None: method middle_click_paste_enabled (line 713) | def middle_click_paste_enabled(self) -> bool: method set_middle_click_paste_enabled (line 716) | def set_middle_click_paste_enabled(self, val: bool) -> None: method custom_sync_url (line 719) | def custom_sync_url(self) -> str | None: method set_custom_sync_url (line 723) | def set_custom_sync_url(self, url: str | None) -> None: method periodic_sync_media_minutes (line 728) | def periodic_sync_media_minutes(self) -> int: method set_periodic_sync_media_minutes (line 731) | def set_periodic_sync_media_minutes(self, val: int) -> None: method show_browser_table_tooltips (line 734) | def show_browser_table_tooltips(self) -> bool: method set_show_browser_table_tooltips (line 737) | def set_show_browser_table_tooltips(self, val: bool) -> None: method set_network_timeout (line 740) | def set_network_timeout(self, timeout_secs: int) -> None: method network_timeout (line 743) | def network_timeout(self) -> int: method set_ankihub_token (line 746) | def set_ankihub_token(self, val: str | None) -> None: method ankihub_token (line 749) | def ankihub_token(self) -> str | None: method set_ankihub_username (line 752) | def set_ankihub_username(self, val: str | None) -> None: method ankihub_username (line 755) | def ankihub_username(self) -> str | None: method allowed_url_schemes (line 758) | def allowed_url_schemes(self) -> list[str]: method set_allowed_url_schemes (line 761) | def set_allowed_url_schemes(self, schemes: list[str]) -> None: method always_allow_scheme (line 764) | def always_allow_scheme(self, scheme: str) -> None: FILE: qt/aqt/progress.py class ProgressManager (line 21) | class ProgressManager: method __init__ (line 22) | def __init__(self, mw: aqt.AnkiQt) -> None: method timer (line 38) | def timer( method single_shot (line 86) | def single_shot( method _get_handler (line 110) | def _get_handler( method start (line 134) | def start( method start_with_backend_updates (line 175) | def start_with_backend_updates( method update (line 203) | def update( method finish (line 230) | def finish(self) -> None: method clear (line 279) | def clear(self) -> None: method _maybeShow (line 285) | def _maybeShow(self) -> None: method _showWin (line 294) | def _showWin(self) -> None: method _closeWin (line 299) | def _closeWin(self) -> None: method _set_busy_cursor (line 307) | def _set_busy_cursor(self) -> None: method _restore_cursor (line 310) | def _restore_cursor(self) -> None: method busy (line 313) | def busy(self) -> int: method _on_show_timer (line 317) | def _on_show_timer(self) -> None: method want_cancel (line 327) | def want_cancel(self) -> bool: method set_title (line 334) | def set_title(self, title: str) -> None: class ProgressDialog (line 340) | class ProgressDialog(QDialog): method __init__ (line 341) | def __init__(self, parent: QWidget | None) -> None: method cancel (line 351) | def cancel(self) -> None: method closeEvent (line 356) | def closeEvent(self, evt: QCloseEvent | None) -> None: method keyPressEvent (line 364) | def keyPressEvent(self, evt: QKeyEvent | None) -> None: class ProgressUpdate (line 372) | class ProgressUpdate: method has_update (line 379) | def has_update(self) -> bool: FILE: qt/aqt/qt/__init__.py function debug (line 22) | def debug() -> None: function info (line 31) | def info(type, value, tb) -> None: # type: ignore function qconnect (line 51) | def qconnect(signal: Callable | pyqtSignal | pyqtBoundSignal, func: Call... function without_qt5_compat_wrapper (line 60) | def without_qt5_compat_wrapper(cls: _T) -> _T: FILE: qt/aqt/reviewer.py class RefreshNeeded (line 63) | class RefreshNeeded(Enum): class ReviewerBottomBar (line 69) | class ReviewerBottomBar: method __init__ (line 70) | def __init__(self, reviewer: Reviewer) -> None: function replay_audio (line 74) | def replay_audio(card: Card, question_side: bool) -> None: class V3CardInfo (line 85) | class V3CardInfo: method from_queue (line 97) | def from_queue(queued_cards: QueuedCards) -> V3CardInfo: method top_card (line 105) | def top_card(self) -> QueuedCards.QueuedCard: method counts (line 108) | def counts(self) -> tuple[int, list[int]]: method rating_from_ease (line 125) | def rating_from_ease(ease: int) -> CardAnswer.Rating.V: class AnswerAction (line 136) | class AnswerAction(Enum): class QuestionAction (line 144) | class QuestionAction(Enum): class Reviewer (line 149) | class Reviewer: method __init__ (line 150) | def __init__(self, mw: AnkiQt) -> None: method show (line 174) | def show(self) -> None: method lastCard (line 188) | def lastCard(self) -> Card | None: method cleanup (line 198) | def cleanup(self) -> None: method refresh_if_needed (line 203) | def refresh_if_needed(self) -> None: method op_executed (line 221) | def op_executed( method _redraw_current_card (line 237) | def _redraw_current_card(self) -> None: method nextCard (line 247) | def nextCard(self) -> None: method _get_next_v3_card (line 265) | def _get_next_v3_card(self) -> None: method get_scheduling_states (line 274) | def get_scheduling_states(self) -> SchedulingStates: method get_scheduling_context (line 277) | def get_scheduling_context(self) -> SchedulingContext: method set_scheduling_states (line 280) | def set_scheduling_states(self, request: SetSchedulingStatesRequest) -... method _run_state_mutation_hook (line 286) | def _run_state_mutation_hook(self) -> None: method replayAudio (line 302) | def replayAudio(self) -> None: method _on_av_player_did_end_playing (line 309) | def _on_av_player_did_end_playing(self, *args) -> None: method revHtml (line 329) | def revHtml(self) -> str: method _initWeb (line 342) | def _initWeb(self) -> None: method _mungeQA (line 369) | def _mungeQA(self, buf: str) -> str: method _showQuestion (line 372) | def _showQuestion(self) -> None: method _auto_advance_to_answer_if_enabled (line 409) | def _auto_advance_to_answer_if_enabled(self) -> None: method _on_show_answer_timeout (line 423) | def _on_show_answer_timeout(self) -> None: method autoplay (line 446) | def autoplay(self, card: Card) -> bool: method _update_flag_icon (line 450) | def _update_flag_icon(self) -> None: method _update_mark_icon (line 453) | def _update_mark_icon(self) -> None: method _showAnswer (line 462) | def _showAnswer(self) -> None: method _auto_advance_to_question_if_enabled (line 488) | def _auto_advance_to_question_if_enabled(self) -> None: method _on_show_question_timeout (line 502) | def _on_show_question_timeout(self) -> None: method _answerCard (line 533) | def _answerCard(self, ease: Literal[1, 2, 3, 4]) -> None: method _after_answering (line 567) | def _after_answering(self, ease: Literal[1, 2, 3, 4]) -> None: method korean_shortcuts (line 576) | def korean_shortcuts( method _shortcutKeys (line 596) | def _shortcutKeys( method on_pause_audio (line 645) | def on_pause_audio(self) -> None: method on_seek_backward (line 651) | def on_seek_backward(self) -> None: method on_seek_forward (line 655) | def on_seek_forward(self) -> None: method onEnterKey (line 659) | def onEnterKey(self) -> None: method _onAnswerButton (line 667) | def _onAnswerButton(self, val: str) -> None: method _linkHandler (line 675) | def _linkHandler(self, url: str) -> None: method typeAnsFilter (line 699) | def typeAnsFilter(self, buf: str) -> str: method typeAnsQuestionFilter (line 705) | def typeAnsQuestionFilter(self, buf: str) -> str: method typeAnsAnswerFilter (line 752) | def typeAnsAnswerFilter(self, buf: str) -> str: method _contentForCloze (line 796) | def _contentForCloze(self, txt: str, idx: int) -> str | None: method _getTypedAnswer (line 799) | def _getTypedAnswer(self) -> None: method _onTypedAnswer (line 802) | def _onTypedAnswer(self, val: None) -> None: method _bottomHTML (line 809) | def _bottomHTML(self) -> str: method _showAnswerButton (line 840) | def _showAnswerButton(self) -> None: method _showEaseButtons (line 858) | def _showEaseButtons(self) -> None: method _remaining (line 868) | def _remaining(self) -> str: method _defaultEase (line 883) | def _defaultEase(self) -> Literal[2, 3]: method _answerButtonList (line 886) | def _answerButtonList(self) -> tuple[tuple[int, str], ...]: method _answerButtons (line 911) | def _answerButtons(self) -> str: method _buttonTime (line 945) | def _buttonTime(self, i: int, v3_labels: Sequence[str]) -> str: method onLeech (line 955) | def onLeech(self, suspended: bool = False) -> None: method check_timebox (line 965) | def check_timebox(self) -> bool: method _contextMenu (line 990) | def _contextMenu(self) -> list[Any]: method showContextMenu (line 1050) | def showContextMenu(self) -> None: method _addMenuItems (line 1059) | def _addMenuItems(self, m: QMenu, rows: Sequence) -> None: method onOptions (line 1082) | def onOptions(self) -> None: method on_previous_card_info (line 1085) | def on_previous_card_info(self) -> None: method on_card_info (line 1088) | def on_card_info(self) -> None: method set_flag_on_current_card (line 1091) | def set_flag_on_current_card(self, desired_flag: int) -> None: method set_flag_func (line 1102) | def set_flag_func(self, desired_flag: int) -> Callable: method toggle_mark_on_current_note (line 1105) | def toggle_mark_on_current_note(self) -> None: method on_set_due (line 1122) | def on_set_due(self) -> None: method suspend_current_note (line 1133) | def suspend_current_note(self) -> None: method suspend_current_card (line 1140) | def suspend_current_card(self) -> None: method bury_current_note (line 1147) | def bury_current_note(self) -> None: method bury_current_card (line 1156) | def bury_current_card(self) -> None: method forget_current_card (line 1165) | def forget_current_card(self) -> None: method on_create_copy (line 1173) | def on_create_copy(self) -> None: method delete_current_note (line 1179) | def delete_current_note(self) -> None: method onRecordVoice (line 1187) | def onRecordVoice(self) -> None: method onReplayRecorded (line 1194) | def onReplayRecorded(self) -> None: method _clear_auto_advance_timers (line 1203) | def _clear_auto_advance_timers(self) -> None: method toggle_auto_advance (line 1211) | def toggle_auto_advance(self) -> None: method auto_advance_if_enabled (line 1219) | def auto_advance_if_enabled(self) -> None: FILE: qt/aqt/schema_change_tracker.py class Change (line 11) | class Change(enum.Enum): class ChangeTracker (line 17) | class ChangeTracker: method __init__ (line 20) | def __init__(self, mw: AnkiQt) -> None: method mark_basic (line 23) | def mark_basic(self) -> None: method mark_schema (line 27) | def mark_schema(self) -> bool: method changed (line 35) | def changed(self) -> bool: method set_unchanged (line 38) | def set_unchanged(self) -> None: FILE: qt/aqt/sound.py class Player (line 52) | class Player(ABC): method play (line 54) | def play(self, tag: AVTag, on_done: OnDoneCallback) -> None: method rank_for_tag (line 63) | def rank_for_tag(self, tag: AVTag) -> int | None: method stop (line 72) | def stop(self) -> None: method seek_relative (line 77) | def seek_relative(self, secs: int) -> None: method toggle_pause (line 80) | def toggle_pause(self) -> None: method shutdown (line 83) | def shutdown(self) -> None: function is_audio_file (line 100) | def is_audio_file(fname: str) -> bool: class SoundOrVideoPlayer (line 105) | class SoundOrVideoPlayer(Player): method rank_for_tag (line 108) | def rank_for_tag(self, tag: AVTag) -> int | None: class SoundPlayer (line 115) | class SoundPlayer(Player): method rank_for_tag (line 118) | def rank_for_tag(self, tag: AVTag) -> int | None: class VideoPlayer (line 125) | class VideoPlayer(Player): method rank_for_tag (line 128) | def rank_for_tag(self, tag: AVTag) -> int | None: class AVPlayer (line 139) | class AVPlayer: method __init__ (line 149) | def __init__(self) -> None: method play_tags (line 153) | def play_tags(self, tags: list[AVTag]) -> None: method append_tags (line 159) | def append_tags(self, tags: list[AVTag]) -> None: method queue_is_empty (line 164) | def queue_is_empty(self) -> bool: method stop_and_clear_queue (line 167) | def stop_and_clear_queue(self) -> None: method stop_and_clear_queue_if_caller (line 171) | def stop_and_clear_queue_if_caller(self, caller: Any) -> None: method clear_queue_and_maybe_interrupt (line 175) | def clear_queue_and_maybe_interrupt(self) -> None: method play_file (line 180) | def play_file(self, filename: str) -> None: method play_file_with_caller (line 187) | def play_file_with_caller(self, filename: str, caller: Any) -> None: method insert_file (line 197) | def insert_file(self, filename: str) -> None: method toggle_pause (line 205) | def toggle_pause(self) -> None: method seek_relative (line 209) | def seek_relative(self, secs: int) -> None: method shutdown (line 213) | def shutdown(self) -> None: method _stop_if_playing (line 219) | def _stop_if_playing(self) -> None: method _pop_next (line 223) | def _pop_next(self) -> AVTag | None: method _on_play_finished (line 228) | def _on_play_finished(self) -> None: method _play_next_if_idle (line 236) | def _play_next_if_idle(self) -> None: method _play (line 244) | def _play(self, tag: AVTag) -> None: method _best_player_for_tag (line 253) | def _best_player_for_tag(self, tag: AVTag) -> Player | None: function _packagedCmd (line 276) | def _packagedCmd(cmd: list[str]) -> tuple[Any, dict[str, str]]: function retryWait (line 316) | def retryWait(proc: subprocess.Popen) -> int: class SimpleProcessPlayer (line 328) | class SimpleProcessPlayer(Player): method __init__ (line 334) | def __init__(self, taskman: TaskManager, media_folder: str | None = No... method play (line 341) | def play(self, tag: AVTag, on_done: OnDoneCallback) -> None: method stop (line 349) | def stop(self) -> None: method _play (line 353) | def _play(self, tag: AVTag) -> None: method _wait_for_termination (line 364) | def _wait_for_termination(self, tag: AVTag) -> None: method _on_done (line 398) | def _on_done(self, ret: Future, cb: OnDoneCallback) -> None: class SimpleMpvPlayer (line 410) | class SimpleMpvPlayer(SimpleProcessPlayer, VideoPlayer): method __init__ (line 427) | def __init__( class SimpleMplayerPlayer (line 434) | class SimpleMplayerPlayer(SimpleProcessPlayer, SoundOrVideoPlayer): class MpvManager (line 444) | class MpvManager(MPV, SoundOrVideoPlayer): method __init__ (line 450) | def __init__(self, base_path: str, media_folder: str) -> None: method on_init (line 458) | def on_init(self) -> None: method play (line 479) | def play(self, tag: AVTag, on_done: OnDoneCallback) -> None: method stop (line 490) | def stop(self) -> None: method toggle_pause (line 493) | def toggle_pause(self) -> None: method seek_relative (line 496) | def seek_relative(self, secs: int) -> None: method on_property_idle_active (line 499) | def on_property_idle_active(self, value: bool) -> None: method shutdown (line 505) | def shutdown(self) -> None: method queueFile (line 514) | def queueFile(self, file: str) -> None: method clearQueue (line 517) | def clearQueue(self) -> None: class SimpleMplayerSlaveModePlayer (line 525) | class SimpleMplayerSlaveModePlayer(SimpleMplayerPlayer): method __init__ (line 526) | def __init__(self, taskman: TaskManager, media_folder: str) -> None: method _play (line 531) | def _play(self, tag: AVTag) -> None: method command (line 545) | def command(self, *args: Any) -> None: method seek_relative (line 554) | def seek_relative(self, secs: int) -> None: method toggle_pause (line 557) | def toggle_pause(self) -> None: function _encode_mp3 (line 565) | def _encode_mp3(src_wav: str, dst_mp3: str) -> None: function encode_mp3 (line 578) | def encode_mp3(mw: aqt.AnkiQt, src_wav: str, on_done: Callable[[str], No... class Recorder (line 599) | class Recorder(ABC): method __init__ (line 603) | def __init__(self, output_path: str) -> None: method start (line 606) | def start(self, on_done: Callable[[], None]) -> None: method stop (line 611) | def stop(self, on_done: Callable[[str], None]) -> None: method duration (line 615) | def duration(self) -> float: method on_timer (line 619) | def on_timer(self) -> None: class QtAudioInputRecorder (line 627) | class QtAudioInputRecorder(Recorder): method __init__ (line 628) | def __init__(self, output_path: str, mw: aqt.AnkiQt, parent: QWidget) ... method _convert_float_to_int16 (line 658) | def _convert_float_to_int16(self, float_buffer: bytearray) -> bytes: method start (line 672) | def start(self, on_done: Callable[[], None]) -> None: method _on_read_ready (line 678) | def _on_read_ready(self) -> None: method stop (line 681) | def stop(self, on_done: Callable[[str], None]) -> None: class NativeMacRecorder (line 742) | class NativeMacRecorder(Recorder): method __init__ (line 743) | def __init__(self, output_path: str) -> None: method _on_error (line 747) | def _on_error(self, msg: str) -> None: method start (line 750) | def start(self, on_done: Callable[[], None]) -> None: method stop (line 756) | def stop(self, on_done: Callable[[str], None]) -> None: class RecordDialog (line 766) | class RecordDialog(QDialog): method __init__ (line 769) | def __init__( method _setup_dialog (line 784) | def _setup_dialog(self) -> None: method _save_diag (line 813) | def _save_diag(self) -> None: method _start_recording (line 816) | def _start_recording(self) -> None: method _start_timer (line 827) | def _start_timer(self) -> None: method _on_timer (line 833) | def _on_timer(self) -> None: method accept (line 838) | def accept(self) -> None: method reject (line 847) | def reject(self) -> None: function record_audio (line 859) | def record_audio( function clearAudioQueue (line 880) | def clearAudioQueue() -> None: function play (line 884) | def play(filename: str) -> None: function playFromText (line 888) | def playFromText(text: Any) -> None: function av_refs_to_play_icons (line 906) | def av_refs_to_play_icons(text: str) -> str: function play_clicked_audio (line 924) | def play_clicked_audio(pycmd: str, card: Card) -> None: function setup_audio (line 939) | def setup_audio(taskman: TaskManager, base_folder: str, media_folder: st... function cleanup_audio (line 979) | def cleanup_audio() -> None: FILE: qt/aqt/stats.py class NewDeckStats (line 30) | class NewDeckStats(QDialog): method __init__ (line 33) | def __init__(self, mw: aqt.main.AnkiQt) -> None: method reject (line 78) | def reject(self) -> None: method closeWithCallback (line 86) | def closeWithCallback(self, callback: Callable[[], None]) -> None: method on_deck_changed (line 90) | def on_deck_changed(self, deck_id: int) -> None: method _imagePath (line 95) | def _imagePath(self) -> str | None: method saveImage (line 108) | def saveImage(self) -> None: method changePeriod (line 126) | def changePeriod(self, n: Any) -> None: method changeScope (line 129) | def changeScope(self, type: Any) -> None: method _on_bridge_cmd (line 132) | def _on_bridge_cmd(self, cmd: str) -> bool: method refresh (line 140) | def refresh(self) -> None: class DeckStats (line 144) | class DeckStats(QDialog): method __init__ (line 147) | def __init__(self, mw: aqt.main.AnkiQt) -> None: method reject (line 188) | def reject(self) -> None: method closeWithCallback (line 195) | def closeWithCallback(self, callback: Callable[[], None]) -> None: method _imagePath (line 199) | def _imagePath(self) -> str | None: method saveImage (line 212) | def saveImage(self) -> None: method changePeriod (line 221) | def changePeriod(self, n: int) -> None: method changeScope (line 225) | def changeScope(self, type: str) -> None: method refresh (line 229) | def refresh(self) -> None: FILE: qt/aqt/studydeck.py class StudyDeck (line 29) | class StudyDeck(QDialog): method __init__ (line 30) | def __init__( method eventFilter (line 104) | def eventFilter(self, obj: QObject | None, evt: QEvent | None) -> bool: method redraw (line 129) | def redraw(self, filt: str, focus: str | None = None) -> None: method _matches (line 143) | def _matches(self, name: str, filt: str) -> bool: method onReset (line 153) | def onReset(self) -> None: method accept (line 159) | def accept(self) -> None: method accept_with_callback (line 167) | def accept_with_callback(self) -> None: method onAddDeck (line 172) | def onAddDeck(self) -> None: method on_finished (line 188) | def on_finished(self) -> None: FILE: qt/aqt/stylesheets.py function button_gradient (line 9) | def button_gradient(start: str, end: str) -> str: function button_pressed_gradient (line 19) | def button_pressed_gradient(start: str, end: str, shadow: str) -> str: function button_layout (line 31) | def button_layout(tm: ThemeManager): class CustomStyles (line 44) | class CustomStyles: method general (line 45) | def general(self, tm: ThemeManager) -> str: method menu (line 126) | def menu(self, tm: ThemeManager) -> str: method button (line 165) | def button(self, tm: ThemeManager) -> str: method splitter (line 224) | def splitter(self, tm: ThemeManager) -> str: method combobox (line 240) | def combobox(self, tm: ThemeManager) -> str: method tabwidget (line 302) | def tabwidget(self, tm: ThemeManager) -> str: method table (line 364) | def table(self, tm: ThemeManager) -> str: method spinbox (line 438) | def spinbox(self, tm: ThemeManager) -> str: method checkbox (line 500) | def checkbox(self, tm: ThemeManager) -> str: method scrollbar (line 564) | def scrollbar(self, tm: ThemeManager) -> str: method slider (line 606) | def slider(self, tm: ThemeManager) -> str: FILE: qt/aqt/switch.py class Switch (line 12) | class Switch(QAbstractButton): method __init__ (line 19) | def __init__( method position (line 46) | def position(self) -> int: method position (line 50) | def position(self, position: int) -> None: method start_position (line 55) | def start_position(self) -> int: method end_position (line 61) | def end_position(self) -> int: method label (line 67) | def label(self) -> str: method path_color (line 71) | def path_color(self) -> QColor: method label_width (line 76) | def label_width(self) -> int: method width (line 89) | def width(self) -> int: method height (line 92) | def height(self) -> int: method sizeHint (line 95) | def sizeHint(self) -> QSize: method setChecked (line 101) | def setChecked(self, checked: bool) -> None: method paintEvent (line 106) | def paintEvent(self, _event: QPaintEvent | None) -> None: method _current_path_rectangle (line 115) | def _current_path_rectangle(self) -> QRectF: method _current_label_rectangle (line 123) | def _current_label_rectangle(self) -> QRectF: method _current_knob_rectangle (line 135) | def _current_knob_rectangle(self) -> QRectF: method _paint_path (line 143) | def _paint_path(self, painter: QPainter) -> None: method _paint_knob (line 149) | def _paint_knob(self, painter: QPainter) -> None: method _paint_label (line 155) | def _paint_label(self, painter: QPainter) -> None: method mouseReleaseEvent (line 165) | def mouseReleaseEvent(self, event: QMouseEvent | None) -> None: method enterEvent (line 171) | def enterEvent(self, event: QEnterEvent | None) -> None: method toggle (line 175) | def toggle(self) -> None: method _animate_toggle (line 179) | def _animate_toggle(self) -> None: FILE: qt/aqt/sync.py function get_sync_status (line 41) | def get_sync_status( function handle_sync_error (line 68) | def handle_sync_error(mw: aqt.main.AnkiQt, err: Exception) -> None: function on_normal_sync_timer (line 78) | def on_normal_sync_timer(mw: aqt.main.AnkiQt) -> None: function sync_collection (line 94) | def sync_collection(mw: aqt.main.AnkiQt, on_done: Callable[[], None]) ->... function full_sync (line 138) | def full_sync( function confirm_full_download (line 172) | def confirm_full_download( function confirm_full_upload (line 188) | def confirm_full_upload( function on_full_sync_timer (line 205) | def on_full_sync_timer(mw: aqt.main.AnkiQt, label: str) -> None: function full_download (line 233) | def full_download( function full_upload (line 272) | def full_upload( function sync_login (line 307) | def sync_login( function get_id_and_pass_from_user (line 349) | def get_id_and_pass_from_user( FILE: qt/aqt/tagedit.py class TagEdit (line 15) | class TagEdit(QLineEdit): method __init__ (line 21) | def __init__(self, parent: QWidget, type: int = 0) -> None: method setCol (line 35) | def setCol(self, col: Collection) -> None: method focusInEvent (line 45) | def focusInEvent(self, evt: QFocusEvent | None) -> None: method keyPressEvent (line 48) | def keyPressEvent(self, evt: QKeyEvent | None) -> None: method showCompleter (line 97) | def showCompleter(self) -> None: method focusOutEvent (line 101) | def focusOutEvent(self, evt: QFocusEvent | None) -> None: method hideCompleter (line 108) | def hideCompleter(self) -> None: class TagCompleter (line 116) | class TagCompleter(QCompleter): method __init__ (line 117) | def __init__( method splitPath (line 128) | def splitPath(self, tags: str | None) -> list[str]: method pathFromIndex (line 142) | def pathFromIndex(self, idx: QModelIndex) -> str: FILE: qt/aqt/taglimit.py class TagLimit (line 17) | class TagLimit(QDialog): method __init__ (line 18) | def __init__( method build_tag_lists (line 47) | def build_tag_lists(self) -> None: method reject (line 70) | def reject(self) -> None: method accept (line 73) | def accept(self) -> None: FILE: qt/aqt/taskman.py class TaskManager (line 27) | class TaskManager(QObject): method __init__ (line 30) | def __init__(self, mw: aqt.AnkiQt) -> None: method run_on_main (line 39) | def run_on_main(self, closure: Closure) -> None: method run_in_background (line 45) | def run_in_background( method with_progress (line 93) | def with_progress( method with_backend_progress (line 115) | def with_backend_progress( method _on_closures_pending (line 140) | def _on_closures_pending(self) -> None: FILE: qt/aqt/theme.py class ColoredIcon (line 33) | class ColoredIcon: method current_color (line 37) | def current_color(self, night_mode: bool) -> str: method with_color (line 43) | def with_color(self, color: dict[str, str]) -> ColoredIcon: class WidgetStyle (line 47) | class WidgetStyle(enum.IntEnum): class Theme (line 52) | class Theme(enum.IntEnum): class ThemeManager (line 58) | class ThemeManager: method rtl (line 68) | def rtl(self) -> bool: method left (line 71) | def left(self) -> str: method right (line 74) | def right(self) -> str: method macos_dark_mode (line 81) | def macos_dark_mode(self) -> bool: method get_night_mode (line 94) | def get_night_mode(self) -> bool: method set_night_mode (line 97) | def set_night_mode(self, val: bool) -> None: method themed_icon (line 103) | def themed_icon(self, path: str) -> str: method icon_from_resources (line 121) | def icon_from_resources(self, path: str | ColoredIcon) -> QIcon: method body_class (line 162) | def body_class(self, night_mode: bool | None = None, reviewer: bool = ... method body_classes_for_card_ord (line 186) | def body_classes_for_card_ord( method var (line 192) | def var(self, vars: dict[str, str]) -> str: method qcolor (line 196) | def qcolor(self, colors: dict[str, str]) -> QColor: method _determine_night_mode (line 210) | def _determine_night_mode(self) -> bool: method apply_style (line 223) | def apply_style(self) -> None: method _apply_style (line 245) | def _apply_style(self, app: QApplication) -> None: method _apply_palette (line 277) | def _apply_palette(self, app: QApplication) -> None: method _update_stat_colors (line 326) | def _update_stat_colors(self) -> None: function get_windows_dark_mode (line 337) | def get_windows_dark_mode() -> bool: function set_macos_dark_mode (line 359) | def set_macos_dark_mode(enabled: bool) -> bool: function get_macos_dark_mode (line 368) | def get_macos_dark_mode() -> bool: function get_linux_dark_mode (line 377) | def get_linux_dark_mode() -> bool: FILE: qt/aqt/toolbar.py class HideMode (line 20) | class HideMode(enum.IntEnum): class TopToolbar (line 26) | class TopToolbar: method __init__ (line 27) | def __init__(self, toolbar: Toolbar) -> None: class BottomToolbar (line 32) | class BottomToolbar: method __init__ (line 33) | def __init__(self, toolbar: Toolbar) -> None: class ToolbarWebView (line 37) | class ToolbarWebView(AnkiWebView): method __init__ (line 40) | def __init__( method reset_timer (line 52) | def reset_timer(self) -> None: method hide (line 56) | def hide(self) -> None: method show (line 59) | def show(self) -> None: class TopWebView (line 63) | class TopWebView(ToolbarWebView): method __init__ (line 64) | def __init__(self, mw: aqt.AnkiQt) -> None: method eventFilter (line 69) | def eventFilter(self, obj, evt): method on_body_classes_need_update (line 81) | def on_body_classes_need_update(self) -> None: method _onHeight (line 93) | def _onHeight(self, qvar: int | None) -> None: method hide_if_allowed (line 98) | def hide_if_allowed(self) -> None: method hide (line 118) | def hide(self) -> None: method show (line 126) | def show(self) -> None: method flatten (line 131) | def flatten(self) -> None: method elevate (line 134) | def elevate(self) -> None: method update_background_image (line 142) | def update_background_image(self) -> None: method set_body_height (line 172) | def set_body_height(self, height: int) -> None: method adjustHeightToFit (line 177) | def adjustHeightToFit(self) -> None: method resizeEvent (line 181) | def resizeEvent(self, event: QResizeEvent | None) -> None: class BottomWebView (line 190) | class BottomWebView(ToolbarWebView): method __init__ (line 191) | def __init__(self, mw: aqt.AnkiQt) -> None: method eventFilter (line 195) | def eventFilter(self, obj, evt): method on_body_classes_need_update (line 206) | def on_body_classes_need_update(self) -> None: method animate_height (line 211) | def animate_height(self, height: int) -> None: method hide_if_allowed (line 228) | def hide_if_allowed(self) -> None: method hide (line 242) | def hide(self) -> None: method show (line 248) | def show(self) -> None: class Toolbar (line 270) | class Toolbar: method __init__ (line 271) | def __init__(self, mw: aqt.AnkiQt, web: AnkiWebView) -> None: method draw (line 279) | def draw( method redraw (line 301) | def redraw(self) -> None: method create_link (line 309) | def create_link( method _centerLinks (line 345) | def _centerLinks(self) -> str: method _left_tray_content (line 386) | def _left_tray_content(self) -> str: method _right_tray_content (line 391) | def _right_tray_content(self) -> str: method _process_tray_content (line 396) | def _process_tray_content(self, content: list[str]) -> str: method _create_sync_link (line 402) | def _create_sync_link(self) -> str: method set_sync_active (line 413) | def set_sync_active(self, active: bool) -> None: method set_sync_status (line 419) | def set_sync_status(self, status: SyncStatus) -> None: method update_sync_status (line 422) | def update_sync_status(self) -> None: method _linkHandler (line 428) | def _linkHandler(self, link: str) -> bool: method _deckLinkHandler (line 433) | def _deckLinkHandler(self) -> None: method _studyLinkHandler (line 436) | def _studyLinkHandler(self) -> None: method _addLinkHandler (line 444) | def _addLinkHandler(self) -> None: method _browseLinkHandler (line 447) | def _browseLinkHandler(self) -> None: method _statsLinkHandler (line 450) | def _statsLinkHandler(self) -> None: method _syncLinkHandler (line 453) | def _syncLinkHandler(self) -> None: class BottomBar (line 472) | class BottomBar(Toolbar): method draw (line 478) | def draw( FILE: qt/aqt/tts.py class TTSVoice (line 52) | class TTSVoice: method __str__ (line 56) | def __str__(self) -> str: method unavailable (line 62) | def unavailable(self) -> bool: class TTSVoiceMatch (line 67) | class TTSVoiceMatch: class TTSPlayer (line 72) | class TTSPlayer: method get_available_voices (line 76) | def get_available_voices(self) -> list[TTSVoice]: method voices (line 79) | def voices(self) -> list[TTSVoice]: method voice_for_tag (line 84) | def voice_for_tag(self, tag: TTSTag) -> TTSVoiceMatch | None: method temp_file_for_tag_and_voice (line 112) | def temp_file_for_tag_and_voice(self, tag: AVTag, voice: TTSVoice) -> ... class TTSProcessPlayer (line 121) | class TTSProcessPlayer(SimpleProcessPlayer, TTSPlayer): method rank_for_tag (line 123) | def rank_for_tag(self, tag: AVTag) -> int | None: function all_tts_voices (line 138) | def all_tts_voices() -> list[TTSVoice]: function on_tts_voices (line 149) | def on_tts_voices( class MacVoice (line 172) | class MacVoice(TTSVoice): class MacTTSPlayer (line 176) | class MacTTSPlayer(TTSProcessPlayer): method _play (line 181) | def _play(self, tag: AVTag) -> None: method get_available_voices (line 203) | def get_available_voices(self) -> list[TTSVoice]: method _parse_voice_line (line 215) | def _parse_voice_line(self, line: str) -> TTSVoice | None: class MacTTSFilePlayer (line 225) | class MacTTSFilePlayer(MacTTSPlayer): method _play (line 230) | def _play(self, tag: AVTag) -> None: method _on_done (line 262) | def _on_done(self, ret: Future, cb: OnDoneCallback) -> None: class WindowsVoice (line 277) | class WindowsVoice(TTSVoice): function lcid_hex_str_to_lang_codes (line 488) | def lcid_hex_str_to_lang_codes(hex_codes: str) -> list[str]: class WindowsTTSPlayer (line 493) | class WindowsTTSPlayer(TTSProcessPlayer): method get_available_voices (line 503) | def get_available_voices(self) -> list[TTSVoice]: method _voice_to_objects (line 512) | def _voice_to_objects(self, voice: Any) -> list[WindowsVoice]: method _play (line 527) | def _play(self, tag: AVTag) -> None: method _tidy_name (line 553) | def _tidy_name(self, name: str) -> str: method _rate_for_speed (line 559) | def _rate_for_speed(self, speed: float) -> int: class WindowsRTVoice (line 565) | class WindowsRTVoice(TTSVoice): method unavailable (line 569) | def unavailable(self) -> bool: method from_backend_voice (line 573) | def from_backend_voice(cls, voice: BackendVoice) -> WindowsRTVoice: class WindowsRTTTSFilePlayer (line 581) | class WindowsRTTTSFilePlayer(TTSProcessPlayer): method validated_voices (line 584) | def validated_voices(self) -> list[TTSVoice]: method get_available_voices (line 589) | def get_available_voices(cls) -> list[TTSVoice]: method _get_available_voices (line 593) | def _get_available_voices(validate: bool) -> list[TTSVoice]: method _play (line 598) | def _play(self, tag: AVTag) -> None: method _on_done (line 615) | def _on_done(self, ret: Future, cb: OnDoneCallback) -> None: FILE: qt/aqt/undo.py class UndoActionsInfo (line 12) | class UndoActionsInfo: method from_undo_status (line 23) | def from_undo_status(status: UndoStatus) -> UndoActionsInfo: FILE: qt/aqt/update.py function check_for_update (line 21) | def check_for_update() -> None: function prompt_to_update (line 66) | def prompt_to_update(mw: aqt.AnkiQt, ver: str) -> None: FILE: qt/aqt/url_schemes.py function show_url_schemes_dialog (line 12) | def show_url_schemes_dialog() -> None: function is_supported_scheme (line 26) | def is_supported_scheme(url: QUrl) -> bool: function always_allow_scheme (line 35) | def always_allow_scheme(url: QUrl) -> None: function open_url_if_supported_scheme (line 42) | def open_url_if_supported_scheme(url: QUrl) -> None: FILE: qt/aqt/utils.py function aqt_data_path (line 87) | def aqt_data_path() -> Path: function aqt_data_folder (line 99) | def aqt_data_folder() -> str: function openHelp (line 109) | def openHelp(section: HelpPageArgument) -> None: function openLink (line 120) | def openLink(link: str | QUrl) -> None: class MessageBox (line 126) | class MessageBox(QMessageBox): method __init__ (line 127) | def __init__( function ask_user (line 183) | def ask_user( function ask_user_dialog (line 200) | def ask_user_dialog( function show_info (line 227) | def show_info( function show_warning (line 244) | def show_warning( function show_critical (line 256) | def show_critical( function showWarning (line 268) | def showWarning( function showCritical (line 279) | def showCritical( function showInfo (line 290) | def showInfo( function showText (line 342) | def showText( function askUser (line 412) | def askUser( class ButtonedDialog (line 442) | class ButtonedDialog(QMessageBox): method __init__ (line 443) | def __init__( method run (line 463) | def run(self) -> str: method setDefault (line 475) | def setDefault(self, idx: int) -> None: function askUserDialog (line 479) | def askUserDialog( class GetTextDialog (line 492) | class GetTextDialog(QDialog): method __init__ (line 493) | def __init__( method accept (line 541) | def accept(self) -> None: method reject (line 544) | def reject(self) -> None: method helpRequested (line 547) | def helpRequested(self) -> None: function getText (line 552) | def getText( function getOnlyText (line 577) | def getOnlyText(*args: Any, **kwargs: Any) -> str: function chooseList (line 587) | def chooseList( function getTag (line 610) | def getTag( function disable_help_button (line 622) | def disable_help_button(widget: QWidget) -> None: function setWindowIcon (line 629) | def setWindowIcon(widget: QWidget) -> None: function getFile (line 639) | def getFile( function running_in_sandbox (line 692) | def running_in_sandbox(): function getSaveFile (line 709) | def getSaveFile( class _QtStateKeyKind (line 749) | class _QtStateKeyKind(enum.Enum): function _qt_state_key (line 756) | def _qt_state_key(kind: _QtStateKeyKind, key: str) -> str: function saveGeom (line 766) | def saveGeom(widget: QWidget, key: str) -> None: function restoreGeom (line 774) | def restoreGeom( function ensureWidgetInScreenBoundaries (line 791) | def ensureWidgetInScreenBoundaries(widget: QWidget) -> None: function saveState (line 823) | def saveState(widget: QFileDialog | QMainWindow, key: str) -> None: function restoreState (line 829) | def restoreState(widget: QFileDialog | QMainWindow, key: str) -> None: function saveSplitter (line 836) | def saveSplitter(widget: QSplitter, key: str) -> None: function restoreSplitter (line 842) | def restoreSplitter(widget: QSplitter, key: str) -> None: function saveHeader (line 849) | def saveHeader(widget: QHeaderView, key: str) -> None: function restoreHeader (line 855) | def restoreHeader(widget: QHeaderView, key: str) -> None: function save_is_checked (line 862) | def save_is_checked(widget: QCheckBox, key: str) -> None: function restore_is_checked (line 868) | def restore_is_checked(widget: QCheckBox, key: str) -> None: function save_combo_index_for_session (line 875) | def save_combo_index_for_session(widget: QComboBox, key: str) -> None: function restore_combo_index_for_session (line 882) | def restore_combo_index_for_session( function save_combo_history (line 894) | def save_combo_history(comboBox: QComboBox, history: list[str], name: st... function restore_combo_history (line 911) | def restore_combo_history(comboBox: QComboBox, name: str) -> list[str]: function mungeQA (line 926) | def mungeQA(col: Collection, txt: str) -> str: function openFolder (line 932) | def openFolder(path: str) -> None: function show_in_folder (line 940) | def show_in_folder(path: str) -> None: function _show_in_folder_win32 (line 982) | def _show_in_folder_win32(path: str) -> None: function osascript_to_args (line 998) | def osascript_to_args(script: str): function shortcut (line 1008) | def shortcut(key: str) -> str: function maybeHideClose (line 1014) | def maybeHideClose(bbox: QDialogButtonBox) -> None: function downArrow (line 1021) | def downArrow() -> str: function current_window (line 1028) | def current_window() -> QWidget | None: function send_to_trash (line 1035) | def send_to_trash(path: Path) -> None: function tooltip (line 1057) | def tooltip( function closeTooltip (line 1100) | def closeTooltip() -> None: function checkInvalidFilename (line 1118) | def checkInvalidFilename(str: str, dirsep: bool = True) -> bool: class MenuList (line 1133) | class MenuList: method __init__ (line 1134) | def __init__(self) -> None: method addItem (line 1141) | def addItem(self, title: str, func: Callable) -> MenuItem: method addSeparator (line 1146) | def addSeparator(self) -> None: method addMenu (line 1149) | def addMenu(self, title: str) -> SubMenu: method addChild (line 1154) | def addChild(self, child: SubMenu | QAction | MenuList) -> None: method renderTo (line 1157) | def renderTo(self, qmenu: QMenu) -> None: method popupOver (line 1166) | def popupOver(self, widget: QPushButton) -> None: class SubMenu (line 1172) | class SubMenu(MenuList): method __init__ (line 1173) | def __init__(self, title: str) -> None: method renderTo (line 1177) | def renderTo(self, menu: QMenu) -> None: class MenuItem (line 1183) | class MenuItem: method __init__ (line 1184) | def __init__(self, title: str, func: Callable) -> None: method renderTo (line 1188) | def renderTo(self, qmenu: QMenu) -> None: function qtMenuShortcutWorkaround (line 1194) | def qtMenuShortcutWorkaround(qmenu: QMenu) -> None: function disallow_full_screen (line 1202) | def disallow_full_screen() -> bool: function add_ellipsis_to_action_label (line 1213) | def add_ellipsis_to_action_label(*actions: QAction | QPushButton) -> None: function supportText (line 1224) | def supportText() -> str: function opengl_vendor (line 1249) | def opengl_vendor() -> str | None: function gfxDriverIsBroken (line 1290) | def gfxDriverIsBroken() -> bool: function startup_info (line 1298) | def startup_info() -> Any: function ensure_editor_saved (line 1307) | def ensure_editor_saved(func: Callable) -> Callable: function skip_if_selection_is_empty (line 1324) | def skip_if_selection_is_empty(func: Callable) -> Callable: function no_arg_trigger (line 1337) | def no_arg_trigger(func: Callable) -> Callable: function is_gesture_or_zoom_event (line 1347) | def is_gesture_or_zoom_event(evt: QEvent) -> bool: class KeyboardModifiersPressed (line 1360) | class KeyboardModifiersPressed: method __init__ (line 1363) | def __init__(self) -> None: method shift (line 1369) | def shift(self) -> bool: method control (line 1373) | def control(self) -> bool: method alt (line 1377) | def alt(self) -> bool: method meta (line 1381) | def meta(self) -> bool: function __getattr__ (line 1391) | def __getattr__(name: str) -> Any: FILE: qt/aqt/webview.py class AnkiWebViewKind (line 36) | class AnkiWebViewKind(Enum): class AuthInterceptor (line 64) | class AuthInterceptor(QWebEngineUrlRequestInterceptor): method __init__ (line 67) | def __init__(self, parent: QObject | None = None, api_enabled: bool = ... method interceptRequest (line 71) | def interceptRequest(self, info): function _create_bridge_script (line 78) | def _create_bridge_script() -> QWebEngineScript: class AnkiWebPage (line 120) | class AnkiWebPage(QWebEnginePage): method __init__ (line 121) | def __init__( method _profileForPage (line 135) | def _profileForPage(self, kind: AnkiWebViewKind) -> QWebEngineProfile: method _setupBridge (line 167) | def _setupBridge(self) -> None: method _inject_user_script (line 196) | def _inject_user_script( method javaScriptConsoleMessage (line 203) | def javaScriptConsoleMessage( method acceptNavigationRequest (line 242) | def acceptNavigationRequest( method _onCmd (line 274) | def _onCmd(self, str: str) -> Any: method javaScriptAlert (line 277) | def javaScriptAlert(self, frame: Any, text: str | None) -> None: method javaScriptConfirm (line 283) | def javaScriptConfirm(self, frame: Any, text: str | None) -> bool: class WebContent (line 295) | class WebContent: class AnkiWebView (line 356) | class AnkiWebView(QWebEngineView): method __init__ (line 360) | def __init__( method _on_load_finished (line 388) | def _on_load_finished(self) -> None: method page (line 399) | def page(self) -> AnkiWebPage: method kind (line 403) | def kind(self) -> AnkiWebViewKind: method set_title (line 407) | def set_title(self, title: str) -> None: method disable_zoom (line 410) | def disable_zoom(self) -> None: method createWindow (line 413) | def createWindow(self, windowType: QWebEnginePage.WebWindowType) -> QW... method eventFilter (line 418) | def eventFilter(self, obj: QObject | None, evt: QEvent | None) -> bool: method set_open_links_externally (line 437) | def set_open_links_externally(self, enable: bool) -> None: method onEsc (line 440) | def onEsc(self) -> None: method onCopy (line 457) | def onCopy(self) -> None: method onCut (line 460) | def onCut(self) -> None: method onPaste (line 463) | def onPaste(self) -> None: method onMiddleClickPaste (line 466) | def onMiddleClickPaste(self) -> None: method onSelectAll (line 469) | def onSelectAll(self) -> None: method contextMenuEvent (line 472) | def contextMenuEvent(self, evt: QContextMenuEvent | None) -> None: method _maybe_add_copy_action (line 479) | def _maybe_add_copy_action(self, menu: QMenu) -> None: method dropEvent (line 485) | def dropEvent(self, evt: QDropEvent | None) -> None: method setHtml (line 489) | def setHtml( # type: ignore[override] method _setHtml (line 504) | def _setHtml(self, html: str, context: PageContext) -> None: method load_url (line 525) | def load_url(self, url: QUrl) -> None: method app_zoom_factor (line 531) | def app_zoom_factor(self) -> float: method setPlaybackRequiresGesture (line 550) | def setPlaybackRequiresGesture(self, value: bool) -> None: method _getQtIntScale (line 557) | def _getQtIntScale(self, screen: QWidget) -> int: method standard_css (line 573) | def standard_css(self) -> str: method stdHtml (line 627) | def stdHtml( method webBundlePath (line 712) | def webBundlePath(cls, path: str) -> str: method bundledScript (line 722) | def bundledScript(self, fname: str) -> str: method bundledCSS (line 725) | def bundledCSS(self, fname: str) -> str: method eval (line 730) | def eval(self, js: str) -> None: method evalWithCallback (line 733) | def evalWithCallback(self, js: str, cb: Callable | None) -> None: method _evalWithCallback (line 736) | def _evalWithCallback(self, js: str, cb: Callable[[Any], Any] | None) ... method _queueAction (line 752) | def _queueAction(self, name: str, *args: Any) -> None: method _maybeRunActions (line 756) | def _maybeRunActions(self) -> None: method _openLinksExternally (line 769) | def _openLinksExternally(self, url: str) -> None: method _shouldIgnoreWebEvent (line 772) | def _shouldIgnoreWebEvent(self) -> bool: method _onBridgeCmd (line 783) | def _onBridgeCmd(self, cmd: str) -> Any: method defaultOnBridgeCmd (line 808) | def defaultOnBridgeCmd(self, cmd: str) -> None: method resetHandlers (line 812) | def resetHandlers(self) -> None: method adjustHeightToFit (line 816) | def adjustHeightToFit(self) -> None: method _onHeight (line 819) | def _onHeight(self, qvar: int | None) -> None: method set_bridge_command (line 828) | def set_bridge_command(self, func: Callable[[str], Any], context: Any)... method hide_while_preserving_layout (line 836) | def hide_while_preserving_layout(self) -> None: method add_dynamic_styling_and_props_then_show (line 843) | def add_dynamic_styling_and_props_then_show(self) -> None: method load_ts_page (line 870) | def load_ts_page(self, name: str) -> None: method load_sveltekit_page (line 881) | def load_sveltekit_page(self, path: str) -> None: method force_load_hack (line 898) | def force_load_hack(self) -> None: method cleanup (line 905) | def cleanup(self) -> None: method on_theme_did_change (line 919) | def on_theme_did_change(self) -> None: method on_body_classes_need_update (line 945) | def on_body_classes_need_update(self) -> None: method get_window_bg_color (line 956) | def get_window_bg_color(self, night_mode: bool | None = None) -> QColor: class _AnkiWebViewKwargs (line 964) | class _AnkiWebViewKwargs(TypedDict, total=False): function _create_ankiwebview_subclass (line 970) | def _create_ankiwebview_subclass( FILE: qt/aqt/widgetgallery.py class WidgetGallery (line 11) | class WidgetGallery(QDialog): method __init__ (line 14) | def __init__(self, parent: QWidget) -> None: method reject (line 38) | def reject(self) -> None: FILE: qt/aqt/winpaths.py class PathConstants (line 16) | class PathConstants: class WinPathsException (line 79) | class WinPathsException(Exception): function _err_unless_zero (line 83) | def _err_unless_zero(result): function _get_path_buf (line 101) | def _get_path_buf(csidl): function get_local_appdata (line 107) | def get_local_appdata(): function get_appdata (line 111) | def get_appdata(): function get_desktop (line 115) | def get_desktop(): function get_programs (line 119) | def get_programs(): function get_admin_tools (line 124) | def get_admin_tools(): function get_common_admin_tools (line 129) | def get_common_admin_tools(): function get_common_appdata (line 134) | def get_common_appdata(): function get_common_documents (line 138) | def get_common_documents(): function get_cookies (line 142) | def get_cookies(): function get_history (line 146) | def get_history(): function get_internet_cache (line 150) | def get_internet_cache(): function get_my_pictures (line 154) | def get_my_pictures(): function get_personal (line 159) | def get_personal(): function get_program_files (line 167) | def get_program_files(): function get_program_files_common (line 171) | def get_program_files_common(): function get_system (line 175) | def get_system(): function get_windows (line 180) | def get_windows(): function get_favorites (line 185) | def get_favorites(): function get_startup (line 189) | def get_startup(): function get_recent (line 194) | def get_recent(): FILE: qt/hatch_build.py class CustomBuildHook (line 12) | class CustomBuildHook(BuildHookInterface): method initialize (line 17) | def initialize(self, version: str, build_data: Dict[str, Any]) -> None: method _set_anki_dependency (line 36) | def _set_anki_dependency(self, version: str, build_data: Dict[str, Any... method _add_aqt_files (line 59) | def _add_aqt_files(self, force_include: Dict[str, str], aqt_root: Path... method _should_exclude (line 68) | def _should_exclude(self, path: Path) -> bool: FILE: qt/launcher/addon/__init__.py function launcher_executable (line 19) | def launcher_executable() -> str | None: function uv_binary (line 24) | def uv_binary() -> str | None: function launcher_root (line 29) | def launcher_root() -> str | None: function venv_binary (line 34) | def venv_binary(cmd: str) -> str | None: function add_python_requirements (line 49) | def add_python_requirements(reqs: list[str]) -> tuple[bool, str]: function trigger_launcher_run (line 71) | def trigger_launcher_run() -> None: function update_and_restart (line 84) | def update_and_restart() -> None: function confirm_then_upgrade (line 115) | def confirm_then_upgrade(): function _packagedCmd (line 123) | def _packagedCmd(cmd: list[str]) -> tuple[Any, dict[str, str]]: function on_addon_config (line 155) | def on_addon_config(): function setup (line 161) | def setup(): FILE: qt/launcher/build.rs function main (line 3) | fn main() { FILE: qt/launcher/mac/stub.c function main (line 4) | int main(void) { FILE: qt/launcher/src/bin/anki_console.rs function main (line 13) | fn main() { function run (line 20) | fn run() -> Result<()> { FILE: qt/launcher/src/bin/build_win.rs constant OUTPUT_DIR (line 16) | const OUTPUT_DIR: &str = "../../../out/launcher"; constant LAUNCHER_EXE_DIR (line 17) | const LAUNCHER_EXE_DIR: &str = "../../../out/launcher_exe"; constant NSIS_DIR (line 18) | const NSIS_DIR: &str = "../../../out/nsis"; constant CARGO_TARGET_DIR (line 19) | const CARGO_TARGET_DIR: &str = "../../../out/rust"; constant NSIS_PATH (line 20) | const NSIS_PATH: &str = "C:\\Program Files (x86)\\NSIS\\makensis.exe"; function main (line 22) | fn main() -> Result<()> { function setup_directories (line 57) | fn setup_directories(output_dir: &Path, launcher_exe_dir: &Path, nsis_di... function build_launcher_binary (line 79) | fn build_launcher_binary() -> Result<()> { function extract_nsis_plugins (line 98) | fn extract_nsis_plugins() -> Result<()> { function copy_files (line 117) | fn copy_files(output_dir: &Path) -> Result<()> { function sign_binaries (line 157) | fn sign_binaries(output_dir: &Path) -> Result<()> { function sign_file (line 164) | fn sign_file(file_path: &Path) -> Result<()> { function find_signtool (line 196) | fn find_signtool() -> Result { function generate_install_manifest (line 219) | fn generate_install_manifest(output_dir: &Path) -> Result<()> { function copy_nsis_files (line 247) | fn copy_nsis_files(nsis_dir: &Path, version: &str) -> Result<()> { function build_uninstaller (line 267) | fn build_uninstaller(output_dir: &Path, nsis_dir: &Path) -> Result<()> { function build_installer (line 291) | fn build_installer(_output_dir: &Path, nsis_dir: &Path) -> Result<()> { function run_nsis (line 309) | fn run_nsis(script_path: &Path, flags: &[&str], working_dir: &Path) -> R... FILE: qt/launcher/src/main.rs type State (line 34) | struct State { type VersionKind (line 61) | pub enum VersionKind { type Releases (line 67) | pub struct Releases { type MainMenuChoice (line 73) | pub enum MainMenuChoice { function main (line 83) | fn main() { function run (line 94) | fn run() -> Result<()> { function extract_aqt_version (line 214) | fn extract_aqt_version(state: &State) -> Option { function check_versions (line 240) | fn check_versions(state: &mut State) { function handle_version_install_or_update (line 268) | fn handle_version_install_or_update(state: &State, choice: MainMenuChoic... function main_menu_loop (line 376) | fn main_menu_loop(state: &State) -> Result<()> { function write_sync_marker (line 436) | fn write_sync_marker(state: &State) -> Result<()> { function file_timestamp_secs (line 446) | fn file_timestamp_secs(path: &std::path::Path) -> i64 { function get_main_menu_choice (line 452) | fn get_main_menu_choice(state: &State) -> Result { function get_version_kind (line 558) | fn get_version_kind(state: &State) -> Result> { function with_only_latest_patch (line 602) | fn with_only_latest_patch(versions: &[String]) -> Vec { function parse_version_for_filtering (line 633) | fn parse_version_for_filtering(version_str: &str) -> (u32, u32, u32, boo... function normalize_version (line 657) | fn normalize_version(version: &str) -> String { function filter_and_normalize_versions (line 699) | fn filter_and_normalize_versions( function fetch_versions (line 721) | fn fetch_versions(state: &State) -> Result> { function get_releases (line 749) | fn get_releases(state: &State) -> Result { function apply_version_kind (line 763) | fn apply_version_kind(version_kind: &VersionKind, state: &State) -> Resu... function update_pyproject_for_version (line 826) | fn update_pyproject_for_version(menu_choice: MainMenuChoice, state: &Sta... function parse_version_kind (line 856) | fn parse_version_kind(version: &str) -> Option { function inject_helper_addon (line 899) | fn inject_helper_addon() -> Result<()> { function get_anki_base_path (line 926) | fn get_anki_base_path() -> Result { function get_anki_addons21_path (line 947) | fn get_anki_addons21_path() -> Result { function handle_uninstall (line 951) | fn handle_uninstall(state: &State) -> Result { function uv_command (line 1001) | fn uv_command(state: &State) -> Result { function build_python_command (line 1034) | fn build_python_command(state: &State, args: &[String]) -> Result bool { function get_mirror_urls (line 1065) | fn get_mirror_urls(state: &State) -> Result> { function show_mirror_submenu (line 1084) | fn show_mirror_submenu(state: &State) -> Result<()> { function diff_launcher_was_installed (line 1125) | fn diff_launcher_was_installed(state: &State) -> Result { function test_normalize_version (line 1144) | fn test_normalize_version() { FILE: qt/launcher/src/platform/mac.rs function prepare_for_launch_after_update (line 18) | pub fn prepare_for_launch_after_update(mut cmd: Command, root: &Path) ->... function relaunch_in_terminal (line 62) | pub fn relaunch_in_terminal() -> Result<()> { function finalize_uninstall (line 72) | pub fn finalize_uninstall() { FILE: qt/launcher/src/platform/mod.rs function get_exe_and_resources_dirs (line 19) | pub fn get_exe_and_resources_dirs() -> Result<(PathBuf, PathBuf)> { function get_uv_binary_name (line 40) | pub fn get_uv_binary_name() -> &'static str { function respawn_launcher (line 52) | pub fn respawn_launcher() -> Result<()> { function launch_anki_normally (line 101) | pub fn launch_anki_normally(mut cmd: std::process::Command) -> Result<()> { function ensure_terminal_shown (line 116) | pub fn ensure_terminal_shown() -> Result<()> { function ensure_os_supported (line 133) | pub fn ensure_os_supported() -> Result<()> { FILE: qt/launcher/src/platform/unix.rs function relaunch_in_terminal (line 9) | pub fn relaunch_in_terminal() -> Result<()> { function finalize_uninstall (line 58) | pub fn finalize_uninstall() { function ensure_glibc_supported (line 76) | pub fn ensure_glibc_supported() -> Result<()> { FILE: qt/launcher/src/platform/windows.rs function is_windows_10 (line 26) | fn is_windows_10() -> bool { function ensure_windows_version_supported (line 42) | pub fn ensure_windows_version_supported() -> Result<()> { function ensure_terminal_shown (line 61) | pub fn ensure_terminal_shown() -> Result<()> { function attach_to_parent_console (line 105) | pub fn attach_to_parent_console() -> bool { function reconnect_stdio_to_console (line 123) | fn reconnect_stdio_to_console() { function finalize_uninstall (line 142) | pub fn finalize_uninstall() { function get_uninstaller_path (line 171) | fn get_uninstaller_path() -> Option { function read_registry_install_dir (line 190) | fn read_registry_install_dir() -> Option { function prepare_to_launch_normally (line 255) | pub fn prepare_to_launch_normally() { FILE: qt/launcher/versions.py function main (line 13) | def main(): FILE: qt/mac/anki_mac_helper/__init__.py class _MacOSHelper (line 12) | class _MacOSHelper: method __init__ (line 13) | def __init__(self) -> None: method system_is_dark (line 21) | def system_is_dark(self) -> bool: method set_darkmode_enabled (line 24) | def set_darkmode_enabled(self, enabled: bool) -> bool: method start_wav_record (line 27) | def start_wav_record(self, path: str, on_error: Callable[[str], None])... method end_wav_record (line 32) | def end_wav_record(self) -> None: method disable_appnap (line 36) | def disable_appnap(self) -> None: method enable_appnap (line 39) | def enable_appnap(self) -> None: function _audio_error_callback (line 45) | def _audio_error_callback(msg: str) -> None: FILE: qt/tests/test_addons.py function test_readMinimalManifest (line 13) | def test_readMinimalManifest(): function test_readExtraKeys (line 19) | def test_readExtraKeys(): function test_invalidManifest (line 26) | def test_invalidManifest(): function test_mustHaveName (line 30) | def test_mustHaveName(): function test_mustHavePackage (line 34) | def test_mustHavePackage(): function test_invalidJson (line 38) | def test_invalidJson(): function test_missingManifest (line 42) | def test_missingManifest(): function test_ignoreExtraKeys (line 48) | def test_ignoreExtraKeys(): function test_conflictsMustBeStrings (line 54) | def test_conflictsMustBeStrings(): function assertReadManifest (line 60) | def assertReadManifest(contents, expectedManifest, nameInZip="manifest.j... function test_package_name_validation (line 72) | def test_package_name_validation(): FILE: qt/tests/test_i18n.py function test_no_collection_i18n (line 7) | def test_no_collection_i18n(): function test_legacy_enum (line 17) | def test_legacy_enum(): FILE: qt/tools/build_ui.py function compile (line 15) | def compile(ui_file: str | Path) -> str: function with_fixes_for_qt6 (line 22) | def with_fixes_for_qt6(code: str) -> str: class UiFileAndOutputs (line 51) | class UiFileAndOutputs: function get_files (line 56) | def get_files() -> list[UiFileAndOutputs]: FILE: qt/tools/color_svg.py function substitute (line 37) | def substitute(data: str, filename: str, mode: str) -> None: FILE: rslib/benches/benchmark.rs function criterion_benchmark (line 9) | pub fn criterion_benchmark(c: &mut Criterion) { FILE: rslib/build.rs function main (line 12) | fn main() -> Result<()> { FILE: rslib/i18n/build.rs function main (line 23) | fn main() -> Result<()> { FILE: rslib/i18n/check.rs function check (line 13) | pub fn check(lang_map: &TranslationsByLang) { function check_content (line 21) | fn check_content(lang: &str, fname: &str, content: &str) { FILE: rslib/i18n/extract.rs type Module (line 17) | pub struct Module { type Translation (line 24) | pub struct Translation { type Variable (line 32) | pub struct Variable { method from (line 167) | fn from(name: String) -> Self { type VariableKind (line 38) | pub enum VariableKind { function get_modules (line 45) | pub fn get_modules(data: &TranslationsByLang) -> Vec { function extract_metadata (line 68) | fn extract_metadata(ftl_text: &str) -> Vec { type Visitor (line 107) | struct Visitor { method into_output (line 113) | fn into_output(self) -> (String, Vec) { method visit_pattern (line 131) | fn visit_pattern(&mut self, pattern: &Pattern<&str>) { method visit_inline_expression (line 140) | fn visit_inline_expression(&mut self, expr: &InlineExpression<&str>, i... method visit_expression (line 155) | fn visit_expression(&mut self, expression: &Expression<&str>) { FILE: rslib/i18n/gather.rs type TranslationsByFile (line 13) | pub type TranslationsByFile = HashMap; type TranslationsByLang (line 14) | pub type TranslationsByLang = HashMap; function get_ftl_data (line 17) | pub fn get_ftl_data() -> TranslationsByLang { function add_folder (line 39) | fn add_folder(map: &mut TranslationsByLang, folder: &Path, lang: &str) { function add_translation_root (line 61) | fn add_translation_root(map: &mut TranslationsByLang, root: &Path, ignor... function source_tree_root (line 72) | fn source_tree_root() -> PathBuf { function extra_ftl_root (line 76) | fn extra_ftl_root() -> Option { FILE: rslib/i18n/python.rs function write_py_interface (line 17) | pub fn write_py_interface(modules: &[Module]) -> Result<()> { function render_legacy_enum (line 32) | fn render_legacy_enum(modules: &[Module], out: &mut String) { function render_methods (line 42) | fn render_methods(modules: &[Module], out: &mut String) { function header (line 63) | fn header() -> String { function get_arg_types (line 83) | fn get_arg_types(args: &[Variable]) -> String { function get_args (line 95) | fn get_args(args: &[Variable]) -> String { function arg_kind (line 101) | fn arg_kind(kind: &VariableKind) -> &str { FILE: rslib/i18n/src/generated.rs type All (line 7) | pub struct All; constant STRINGS (line 13) | const STRINGS: &phf::Map<&str, &phf::Map<&str, &str>> = &_STRINGS; constant KEYS_BY_MODULE (line 14) | const KEYS_BY_MODULE: &[&[&str]] = &_KEYS_BY_MODULE; FILE: rslib/i18n/src/generated_launcher.rs type Launcher (line 7) | pub struct Launcher; constant STRINGS (line 13) | const STRINGS: &phf::Map<&str, &phf::Map<&str, &str>> = &_STRINGS; constant KEYS_BY_MODULE (line 14) | const KEYS_BY_MODULE: &[&[&str]] = &_KEYS_BY_MODULE; FILE: rslib/i18n/src/lib.rs type FluentBundle (line 21) | type FluentBundle = FluentBundleOrig { method round (line 29) | fn round(self) -> Self; method round (line 33) | fn round(self) -> Self { method round (line 39) | fn round(self) -> Self { method round (line 45) | fn round(self) -> Self { method round (line 52) | fn round(self) -> Self { method round (line 58) | fn round(self) -> Self { method round (line 64) | fn round(self) -> Self { function remapped_lang_name (line 69) | fn remapped_lang_name(lang: &LanguageIdentifier) -> &str { function test_en_text (line 99) | fn test_en_text() -> &'static str { function test_jp_text (line 111) | fn test_jp_text() -> &'static str { function test_pl_text (line 118) | fn test_pl_text() -> &'static str { function get_bundle (line 129) | fn get_bundle( function get_bundle_with_extra (line 162) | fn get_bundle_with_extra( type Translations (line 193) | pub trait Translations { constant STRINGS (line 194) | const STRINGS: &phf::Map<&str, &phf::Map<&str, &str>>; constant KEYS_BY_MODULE (line 195) | const KEYS_BY_MODULE: &[&[&str]]; type I18n (line 199) | pub struct I18n { function get_key (line 205) | fn get_key(module_idx: usize, translation_idx: usize) -> &'static str { function get_modules (line 213) | fn get_modules(langs: &[LanguageIdentifier], desired_modules: &[String])... function ftl_localized_text (line 240) | fn ftl_localized_text(lang: &LanguageIdentifier) -> Option { function template_only (line 253) | pub fn template_only() -> Self { function new (line 257) | pub fn new>(locale_codes: &[S]) -> Self { function translate_via_index (line 317) | pub fn translate_via_index( function translate (line 327) | fn translate<'a>(&'a self, key: &str, args: Option) -> Cow<'... function resources_for_js (line 356) | pub fn resources_for_js(&self, desired_modules: &[String]) -> ResourcesF... type I18nInner (line 366) | struct I18nInner { function set_bundle_formatter_for_langs (line 375) | fn set_bundle_formatter_for_langs(bundle: &mut FluentBundle, langs... function first_available_num_format_locale (line 385) | fn first_available_num_format_locale(langs: &[LanguageIdentifier]) -> Op... function num_format_locale (line 395) | fn num_format_locale(lang: &LanguageIdentifier) -> Option { function want_comma_as_decimal_separator (line 407) | fn want_comma_as_decimal_separator(langs: &[LanguageIdentifier]) -> bool { function format_decimal_with_comma (line 417) | fn format_decimal_with_comma( function format_decimal_with_period (line 424) | fn format_decimal_with_period( function format_number_values (line 432) | fn format_number_values(val: &FluentValue, alt_separator: Option<&'stati... type ResourcesForJavascript (line 470) | pub struct ResourcesForJavascript { function without_unicode_isolation (line 475) | pub fn without_unicode_isolation(s: &str) -> String { function numbers (line 486) | fn numbers() { function decimal_rounding (line 492) | fn decimal_rounding() { function i18n (line 500) | fn i18n() { FILE: rslib/i18n/typescript.rs function write_ts_interface (line 17) | pub fn write_ts_interface(modules: &[Module]) -> Result<()> { function render_module_map (line 33) | fn render_module_map(modules: &[Module], ts_out: &mut String) { function render_methods (line 43) | fn render_methods(modules: &[Module], ts_out: &mut String) { function get_args (line 69) | fn get_args(variables: &[Variable]) -> String { function typescript_arg_name (line 87) | fn typescript_arg_name(name: &str) -> String { function write_imports (line 91) | fn write_imports(buf: &mut String) { function header (line 101) | fn header() -> String { function get_arg_types (line 109) | fn get_arg_types(args: &[Variable]) -> String { function arg_kind (line 121) | fn arg_kind(kind: &VariableKind) -> &str { FILE: rslib/i18n/write_strings.rs function write_strings (line 18) | pub fn write_strings(map: &TranslationsByLang, modules: &[Module], out_f... function write_methods (line 35) | fn write_methods(modules: &[Module], buf: &mut String, tag: &str) { function build_vars (line 82) | fn build_vars(translation: &Translation) -> String { function build_in_args (line 110) | fn build_in_args(translation: &Translation) -> String { function write_translation_key_index (line 128) | fn write_translation_key_index(modules: &[Module], buf: &mut String) { function write_lang_map (line 164) | fn write_lang_map(map: &TranslationsByLang, buf: &mut String) { function write_translations_by_module (line 184) | fn write_translations_by_module(map: &TranslationsByLang, buf: &mut Stri... function write_module_map (line 190) | fn write_module_map(buf: &mut String, lang: &str, modules: &Translations... function escape_unicode_control_chars (line 211) | fn escape_unicode_control_chars(input: &str) -> String { function lang_constant_name (line 224) | fn lang_constant_name(lang: &str) -> String { function module_constant_name (line 228) | fn module_constant_name(module: &str) -> String { FILE: rslib/io/src/error.rs type FileIoError (line 12) | pub struct FileIoError { method message (line 50) | pub fn message(&self) -> String { method is_not_found (line 72) | pub fn is_not_found(&self) -> bool { method from (line 78) | fn from(err: tempfile::PathPersistError) -> Self { method from (line 88) | fn from(err: tempfile::PersistError) -> Self { method eq (line 19) | fn eq(&self, other: &Self) -> bool { type FileOp (line 27) | pub enum FileOp { method copy (line 44) | pub fn copy(from: impl Into) -> Self { FILE: rslib/io/src/lib.rs type Result (line 25) | pub type Result = std::result::Result; function create_file (line 28) | pub fn create_file(path: impl AsRef) -> Result { function open_file (line 36) | pub fn open_file(path: impl AsRef) -> Result { function open_file_ext (line 43) | pub fn open_file_ext(path: impl AsRef, options: OpenOptions) -> Re... function write_file (line 51) | pub fn write_file(path: impl AsRef, contents: impl AsRef<[u8]>) ->... function write_file_and_flush (line 58) | pub fn write_file_and_flush( function set_file_times (line 74) | pub fn set_file_times(path: impl AsRef, times: FileTimes) -> Resul... function remove_file (line 99) | pub fn remove_file(path: impl AsRef) -> Result<()> { function remove_dir_all (line 108) | pub fn remove_dir_all(path: impl AsRef) -> Result<()> { function create_dir (line 116) | pub fn create_dir(path: impl AsRef) -> Result<()> { function create_dir_all (line 124) | pub fn create_dir_all(path: impl AsRef) -> Result<()> { function read_file (line 132) | pub fn read_file(path: impl AsRef) -> Result> { function read_to_string (line 140) | pub fn read_to_string(path: impl AsRef) -> Result { function copy_file (line 148) | pub fn copy_file(src: impl AsRef, dst: impl AsRef) -> Result... function copy_if_newer (line 157) | pub fn copy_if_newer(src: impl AsRef, dst: impl AsRef) -> Re... function read_locked_db_file (line 185) | pub fn read_locked_db_file(path: impl AsRef) -> Result> { constant LOCKED_SECTION_START_BYTE (line 192) | const LOCKED_SECTION_START_BYTE: usize = 1024 * 1024 * 1024; constant LOCKED_SECTION_LEN_BYTES (line 193) | const LOCKED_SECTION_LEN_BYTES: usize = 512; constant LOCKED_SECTION_END_BYTE (line 194) | const LOCKED_SECTION_END_BYTE: usize = LOCKED_SECTION_START_BYTE + LOCKE... function read_locked_db_file_inner (line 196) | fn read_locked_db_file_inner(path: impl AsRef) -> std::io::Result<... function metadata (line 212) | pub fn metadata(path: impl AsRef) -> Result { function modified_time (line 220) | pub fn modified_time(path: impl AsRef) -> Result Result { function new_tempfile_in (line 234) | pub fn new_tempfile_in(dir: impl AsRef) -> Result { function new_tempfile_in_parent_of (line 241) | pub fn new_tempfile_in_parent_of(file: &Path) -> Result { function atomic_rename (line 255) | pub fn atomic_rename(file: NamedTempFile, target: &Path, fsync: bool) ->... function read_dir_files (line 276) | pub fn read_dir_files(path: impl AsRef) -> Result { function paths_in_dir (line 287) | pub fn paths_in_dir(path: impl AsRef) -> Result> { function filename_is_safe (line 300) | pub fn filename_is_safe(name: &str) -> bool { type ReadDirFiles (line 310) | pub struct ReadDirFiles(std::fs::ReadDir); type Item (line 313) | type Item = std::io::Result; method next (line 315) | fn next(&mut self) -> Option { function write_file_if_changed (line 330) | pub fn write_file_if_changed(path: impl AsRef, contents: impl AsRe... type ToUtf8PathBuf (line 355) | pub trait ToUtf8PathBuf { method utf8 (line 356) | fn utf8(self) -> Result; method utf8 (line 360) | fn utf8(self) -> Result { type ToUtf8Path (line 369) | pub trait ToUtf8Path { method utf8 (line 370) | fn utf8(&self) -> Result<&Utf8Path>; method utf8 (line 374) | fn utf8(&self) -> Result<&Utf8Path> { function path_traversal (line 388) | fn path_traversal() { FILE: rslib/linkchecker/tests/links.rs constant WEB_TIMEOUT (line 25) | const WEB_TIMEOUT: Duration = Duration::from_secs(60); type Outcomes (line 30) | struct Outcomes(Vec); method extend (line 126) | fn extend>(&mut self, items: T) { method message (line 137) | fn message(&self) -> String { type Outcome (line 33) | enum Outcome { type CheckableUrl (line 39) | enum CheckableUrl { method url (line 45) | fn url(&self) -> Cow<'_, str> { method anchor (line 52) | fn anchor(&self) -> Cow<'_, str> { method from (line 61) | fn from(value: HelpPage) -> Self { method from (line 67) | fn from(value: &'static str) -> Self { function ts_help_pages (line 72) | fn ts_help_pages() -> impl Iterator { function check_links (line 81) | async fn check_links() { function check_url (line 101) | async fn check_url(page: CheckableUrl, ctx: &BasicContext) -> Outcome { FILE: rslib/process/src/lib.rs type CodeDisplay (line 15) | pub struct CodeDisplay(Option); method fmt (line 18) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method from (line 27) | fn from(code: Option) -> Self { type Error (line 33) | pub enum Error { type Result (line 55) | pub type Result = std::result::Result; type Utf8Output (line 57) | pub struct Utf8Output { type CommandExt (line 62) | pub trait CommandExt { method run (line 65) | fn run(cmd_and_args: impl AsRef) -> Result<()> { method run_with_output (line 72) | fn run_with_output(cmd_and_args: I) -> Result method ensure_success (line 83) | fn ensure_success(&mut self) -> Result<&mut Self>; method utf8_output (line 84) | fn utf8_output(&mut self) -> Result; method ensure_spawn (line 85) | fn ensure_spawn(&mut self) -> Result; method ensure_exec (line 87) | fn ensure_exec(&mut self) -> Result<()>; method ensure_success (line 91) | fn ensure_success(&mut self) -> Result<&mut Self> { method utf8_output (line 105) | fn utf8_output(&mut self) -> Result { method ensure_spawn (line 131) | fn ensure_spawn(&mut self) -> Result { method ensure_exec (line 138) | fn ensure_exec(&mut self) -> Result<()> { function get_cmdline (line 149) | fn get_cmdline(arg: &mut Command) -> String { function test_run (line 160) | fn test_run() { FILE: rslib/proto/build.rs function main (line 12) | fn main() -> Result<()> { FILE: rslib/proto/python.rs function write_python_interface (line 18) | pub(crate) fn write_python_interface(services: &[BackendService]) -> Res... function render_method (line 48) | fn render_method(service: &BackendService, method: &Method, out: &mut im... function format_comments (line 84) | fn format_comments(comments: &Option) -> String { function maybe_destructured_input (line 103) | fn maybe_destructured_input(input: &MessageDescriptor) -> (String, Strin... function build_method_arguments (line 122) | fn build_method_arguments(input: &MessageDescriptor) -> String { function build_input_message_arguments (line 136) | fn build_input_message_arguments(input: &MessageDescriptor) -> String { function maybe_destructured_output (line 150) | fn maybe_destructured_output(output: &MessageDescriptor) -> (String, Str... function python_type (line 165) | fn python_type(field: &FieldDescriptor, output: bool) -> String { function full_name_to_python (line 202) | fn full_name_to_python(name: &str) -> String { function write_header (line 212) | fn write_header(out: &mut impl Write) -> Result<()> { FILE: rslib/proto/rust.rs function write_rust_protos (line 17) | pub fn write_rust_protos(descriptors_path: PathBuf) -> Result Result> { function set_protoc_path (line 97) | fn set_protoc_path() { FILE: rslib/proto/src/generic_helpers.rs function from (line 5) | fn from(json: Vec) -> Self { function from (line 11) | fn from(val: String) -> Self { function from (line 17) | fn from(vals: Vec) -> Self { function from (line 23) | fn from(val: bool) -> Self { function from (line 29) | fn from(val: i32) -> Self { function from (line 35) | fn from(val: i64) -> Self { function from (line 41) | fn from(val: u32) -> Self { function from (line 47) | fn from(val: usize) -> Self { FILE: rslib/proto/typescript.rs function write_ts_interface (line 16) | pub(crate) fn write_ts_interface(services: &[BackendService]) -> Result<... function ts_header (line 45) | fn ts_header() -> String { function imports (line 56) | fn imports(referenced_packages: HashSet) -> String { function write_ts_method (line 70) | fn write_ts_method( function format_comments (line 88) | fn format_comments(comments: &Option) -> String { type MethodDetails (line 95) | struct MethodDetails { method from_method (line 103) | fn from_method(method: &Method) -> MethodDetails { function record_referenced_type (line 117) | fn record_referenced_type(referenced_packages: &mut HashSet, typ... function full_name_to_imported_reference (line 123) | fn full_name_to_imported_reference(name: &str) -> String { FILE: rslib/proto_gen/src/lib.rs function get_services (line 46) | pub fn get_services(pool: &DescriptorPool) -> (Vec, V... type CollectionService (line 101) | pub struct CollectionService { method from_proto (line 126) | pub fn from_proto(service: prost_reflect::ServiceDescriptor) -> Self { type BackendService (line 109) | pub struct BackendService { method from_proto (line 137) | pub fn from_proto(service: prost_reflect::ServiceDescriptor) -> Self { method all_methods (line 148) | pub fn all_methods(&self) -> impl Iterator { type Method (line 118) | pub struct Method { method from_proto (line 156) | pub fn from_proto(method: prost_reflect::MethodDescriptor) -> Self { method input (line 167) | pub fn input(&self) -> Option { method output (line 172) | pub fn output(&self) -> Option { function msg_if_not_empty (line 177) | fn msg_if_not_empty(msg: MessageDescriptor) -> Option { type MethodComments (line 186) | struct MethodComments<'a> { function from_pool (line 192) | pub fn from_pool(pool: &'a DescriptorPool) -> MethodComments<'a> { function get_for_method (line 210) | pub fn get_for_method(&self, method: &MethodDescriptor) -> Option { function add_must_use_annotations (line 218) | pub fn add_must_use_annotations( function add_must_use_annotations_to_file (line 237) | pub fn add_must_use_annotations_to_file(path: &Utf8Path, is_empty: E)... function determine_if_message_is_empty (line 265) | pub fn determine_if_message_is_empty(pool: &DescriptorPool, path: &Utf8P... function descriptors_path (line 278) | pub fn descriptors_path() -> PathBuf { FILE: rslib/rust_interface.rs function write_rust_interface (line 19) | pub fn write_rust_interface(pool: &DescriptorPool) -> Result<()> { function render_collection_services (line 45) | fn render_collection_services(col_services: &[CollectionService], buf: &... function render_backend_services (line 60) | fn render_backend_services(backend_services: &[BackendService], buf: &mu... function format_code (line 76) | fn format_code(code: String) -> Result { function render_collection_trait (line 81) | fn render_collection_trait(service: &CollectionService, buf: &mut String) { function render_trait_method (line 90) | fn render_trait_method(method: &Method, self_kind: &str, buf: &mut Strin... function render_backend_trait (line 101) | fn render_backend_trait(service: &BackendService, buf: &mut String) { function render_delegating_backend_methods (line 110) | fn render_delegating_backend_methods(service: &BackendService, buf: &mut... function render_delegating_backend_method (line 118) | fn render_delegating_backend_method(method: &Method, method_qualifier: &... function render_top_level_run_method (line 132) | fn render_top_level_run_method<'a>( function render_individual_service_run_method_for_collection (line 167) | fn render_individual_service_run_method_for_collection( function render_individual_service_run_method_for_backend (line 192) | fn render_individual_service_run_method_for_backend(buf: &mut String, se... function render_method_in_match_expression (line 217) | fn render_method_in_match_expression(method: &Method, method_qualifier: ... type MethodHelpers (line 240) | trait MethodHelpers { method input_type (line 241) | fn input_type(&self) -> Option; method output_type (line 242) | fn output_type(&self) -> Option; method text_if_input_not_empty (line 243) | fn text_if_input_not_empty(&self, text: impl Fn(&String) -> String) ->... method get_input_arg_with_label (line 244) | fn get_input_arg_with_label(&self) -> String; method get_output_type (line 245) | fn get_output_type(&self) -> String; method text_if_output_not_empty (line 246) | fn text_if_output_not_empty(&self, text: impl Fn(&String) -> String) -... method input_type (line 250) | fn input_type(&self) -> Option { method output_type (line 254) | fn output_type(&self) -> Option { method text_if_input_not_empty (line 258) | fn text_if_input_not_empty(&self, text: impl Fn(&String) -> String) ->... method get_input_arg_with_label (line 263) | fn get_input_arg_with_label(&self) -> String { method get_output_type (line 271) | fn get_output_type(&self) -> String { method text_if_output_not_empty (line 275) | fn text_if_output_not_empty(&self, text: impl Fn(&String) -> String) -... function rust_type (line 280) | fn rust_type(name: &str) -> String { FILE: rslib/src/adding.rs type DeckAndNotetype (line 8) | pub struct DeckAndNotetype { method defaults_for_adding (line 25) | pub fn defaults_for_adding( method get_current_deck_for_adding (line 55) | fn get_current_deck_for_adding( method get_current_notetype_for_adding (line 73) | fn get_current_notetype_for_adding(&mut self) -> Result> { method default_notetype_for_deck (line 88) | fn default_notetype_for_deck(&mut self, deck: DeckId) -> Result ... FILE: rslib/src/ankidroid/db.rs method id_for_db_cache (line 29) | fn id_for_db_cache(&self) -> CollectionId { type CollectionId (line 35) | struct CollectionId(i64); type DBArgs (line 38) | struct DBArgs { type Sizable (line 43) | pub trait Sizable { method estimate_size (line 45) | fn estimate_size(&self) -> usize; method estimate_size (line 49) | fn estimate_size(&self) -> usize { method estimate_size (line 60) | fn estimate_size(&self) -> usize { method estimate_size (line 70) | fn estimate_size(&self) -> usize { method estimate_size (line 76) | fn estimate_size(&self) -> usize { function select_next_slice (line 85) | pub(crate) fn select_next_slice<'a>(rows: impl Iterator)... function select_slice_of_size (line 91) | fn select_slice_of_size<'a>( type SequenceNumber (line 111) | type SequenceNumber = i32; function flush_single_result (line 116) | pub(crate) fn flush_single_result(col: &Collection, sequence_number: i32) { function flush_collection (line 124) | pub(crate) fn flush_collection(col: &Collection) { function active_sequences (line 128) | pub(crate) fn active_sequences(col: &Collection) -> Vec { function trim_and_cache_remaining (line 141) | pub(crate) fn trim_and_cache_remaining( function insert_cache (line 178) | fn insert_cache(col: &Collection, result: DbResponse) { function get_next (line 187) | pub(crate) fn get_next( function get_next_result (line 203) | fn get_next_result( function next_sequence_number (line 241) | pub(crate) fn next_sequence_number() -> i32 { function set_max_page_size (line 249) | pub(crate) fn set_max_page_size(size: usize) { function get_max_page_size (line 254) | fn get_max_page_size() -> usize { function get_args (line 258) | fn get_args(in_bytes: &[u8]) -> Result { function insert_for_id (line 263) | pub(crate) fn insert_for_id(col: &Collection, json: &[u8]) -> Result { function execute_for_row_count (line 270) | pub(crate) fn execute_for_row_count(col: &Collection, req: &[u8]) -> Res... function gen_data (line 287) | fn gen_data() -> Vec { function test_size_estimate (line 307) | fn test_size_estimate() { function test_stream_size (line 322) | fn test_stream_size() { function test_stream_size_too_small (line 343) | fn test_stream_size_too_small() { constant SEQUENCE_NUMBER (line 361) | const SEQUENCE_NUMBER: i32 = 1; function get (line 363) | fn get(col: &Collection, index: i64) -> Option { function get_first (line 367) | fn get_first(col: &Collection, result: DbResult) -> DbResponse { function seq_number_used (line 371) | fn seq_number_used(col: &Collection) -> bool { function integration_test (line 381) | fn integration_test() { function row_count (line 432) | fn row_count(resp: &DbResponse) -> i64 { FILE: rslib/src/ankidroid/error.rs function debug_produce_error (line 16) | pub(crate) fn debug_produce_error(s: &str) -> AnkiError { FILE: rslib/src/ankidroid/service.rs method run_db_command (line 19) | fn run_db_command(&mut self, input: generic::Json) -> error::Result error::Resul... method run_db_command_for_row_count (line 27) | fn run_db_command_for_row_count( method flush_all_queries (line 34) | fn flush_all_queries(&mut self) -> error::Result<()> { method flush_query (line 39) | fn flush_query(&mut self, input: generic::Int32) -> error::Result<()> { method get_next_result_page (line 44) | fn get_next_result_page( method insert_for_id (line 51) | fn insert_for_id(&mut self, input: generic::Json) -> error::Result error::Result>(token: S, client: Client) -> HttpAnkiHubCl... method request (line 43) | async fn request(&self, method: &str, data: &T)... method login (line 55) | pub async fn login(&self, data: LoginRequest) -> Result { method logout (line 59) | pub async fn logout(&self) -> Result { FILE: rslib/src/ankihub/login.rs type LoginRequest (line 16) | pub struct LoginRequest { type LoginResponse (line 25) | pub struct LoginResponse { function ankihub_login (line 29) | pub async fn ankihub_login>( function ankihub_logout (line 57) | pub async fn ankihub_logout>(token: S, client: Client) -... FILE: rslib/src/backend/adding.rs method from (line 9) | fn from(s: DeckAndNotetype) -> Self { FILE: rslib/src/backend/ankidroid.rs method sched_timing_today_legacy (line 15) | fn sched_timing_today_legacy( method local_minutes_west_legacy (line 31) | fn local_minutes_west_legacy(&self, input: generic::Int64) -> Result Result<()> { method debug_produce_error (line 45) | fn debug_produce_error(&self, input: generic::String) -> Result<()> { function from (line 53) | fn from( FILE: rslib/src/backend/ankihub.rs function from (line 11) | fn from(value: LoginResponse) -> Self { method ankihub_login (line 19) | fn ankihub_login( method ankihub_logout (line 29) | fn ankihub_logout(&self, input: anki_proto::ankihub::LogoutRequest) -> R... FILE: rslib/src/backend/ankiweb.rs function service_url (line 16) | fn service_url(service: &str) -> String { method post (line 21) | fn post(&self, service: &str, input: I) -> Result method get_addon_info (line 44) | fn get_addon_info(&self, input: GetAddonInfoRequest) -> Result Result Result<()> { FILE: rslib/src/backend/card_rendering.rs method strip_html (line 12) | fn strip_html( method all_tts_voices (line 19) | fn all_tts_voices( method write_tts_stream (line 27) | fn write_tts_stream( FILE: rslib/src/backend/collection.rs method open_collection (line 17) | fn open_collection(&self, input: anki_proto::collection::OpenCollectionR... method close_collection (line 32) | fn close_collection( method create_backup (line 53) | fn create_backup( method await_backup_completion (line 80) | fn await_backup_completion(&self) -> Result<()> { method latest_progress (line 85) | fn latest_progress(&self) -> Result { method set_wants_abort (line 90) | fn set_wants_abort(&self) -> Result<()> { method lock_open_collection (line 97) | pub(super) fn lock_open_collection(&self) -> Result Result Result<()> { FILE: rslib/src/backend/config.rs method from (line 14) | fn from(k: BoolKeyProto) -> Self { method from (line 48) | fn from(k: StringKeyProto) -> Self { method get_config_json (line 59) | fn get_config_json(&mut self, input: generic::String) -> Result Result { method get_config_bool (line 97) | fn get_config_bool( method set_config_bool (line 106) | fn set_config_bool( method get_config_string (line 114) | fn get_config_string( method set_config_string (line 123) | fn set_config_string( method get_preferences (line 131) | fn get_preferences(&mut self) -> Result { method set_preferences (line 135) | fn set_preferences( FILE: rslib/src/backend/dbproxy.rs type DbRequest (line 25) | pub(super) enum DbRequest { type DbResult (line 42) | pub(super) enum DbResult { type SqlValue (line 49) | pub(crate) enum SqlValue { method to_sql (line 58) | fn to_sql(&self) -> std::result::Result, rusqlite::Error> { function from (line 71) | fn from(item: &SqlValue) -> Self { function row_to_proto (line 90) | fn row_to_proto(row: &[SqlValue]) -> anki_proto::ankidroid::Row { function rows_to_proto (line 99) | fn rows_to_proto(rows: &[Vec]) -> anki_proto::ankidroid::DbRes... method column_result (line 106) | fn column_result(value: ValueRef<'_>) -> std::result::Result Re... function db_command_bytes_inner (line 122) | pub(super) fn db_command_bytes_inner(col: &mut Collection, input: &[u8])... function update_state_after_modification (line 162) | fn update_state_after_modification(col: &mut Collection, sql: &str) { function is_dql (line 170) | fn is_dql(sql: &str) -> bool { function db_command_proto (line 180) | pub(crate) fn db_command_proto(col: &mut Collection, input: &[u8]) -> Re... function db_query_row (line 190) | pub(super) fn db_query_row(ctx: &SqliteStorage, sql: &str, args: &[SqlVa... function db_query (line 214) | pub(super) fn db_query(ctx: &SqliteStorage, sql: &str, args: &[SqlValue]... function db_execute_many (line 232) | pub(super) fn db_execute_many( FILE: rslib/src/backend/error.rs method into_protobuf (line 11) | pub fn into_protobuf(self, tr: &I18n) -> anki_proto::backend::BackendErr... method from (line 66) | fn from(err: SyncErrorKind) -> Self { FILE: rslib/src/backend/i18n.rs method translate_string (line 16) | fn translate_string(&self, input: TranslateStringRequest) -> Result Result Result); method new (line 81) | pub fn new(tr: I18n, server: bool) -> Backend { method i18n (line 99) | pub fn i18n(&self) -> &I18n { method run_db_command_bytes (line 103) | pub fn run_db_command_bytes(&self, input: &[u8]) -> result::Result(&self, func: F) -> Result method runtime_handle (line 128) | fn runtime_handle(&self) -> runtime::Handle { method set_custom_certificate_inner (line 142) | fn set_custom_certificate_inner(&self, cert_str: String) -> Result<()> { method web_client (line 174) | fn web_client(&self) -> Client { method db_command (line 183) | fn db_command(&self, input: &[u8]) -> Result> { method new_progress_handler (line 190) | pub(crate) fn new_progress_handler + Default + Clone>( type Target (line 43) | type Target = BackendInner; method deref (line 45) | fn deref(&self) -> &Self::Target { type BackendInner (line 50) | pub struct BackendInner { type BackendState (line 64) | struct BackendState { function init_backend (line 68) | pub fn init_backend(init_msg: &[u8]) -> result::Result { FILE: rslib/src/backend/ops.rs function from (line 10) | fn from(c: OpChanges) -> Self { method into_protobuf (line 29) | pub(crate) fn into_protobuf(self, tr: &I18n) -> anki_proto::collection::... function from (line 39) | fn from(o: OpOutput<()>) -> Self { function from (line 45) | fn from(out: OpOutput) -> Self { function from (line 54) | fn from(out: OpOutput) -> Self { function into_protobuf (line 63) | pub(crate) fn into_protobuf(self, tr: &I18n) -> anki_proto::collection::... FILE: rslib/src/backend/sync.rs type SyncState (line 25) | pub(super) struct SyncState { type RemoteSyncStatus (line 31) | pub(super) struct RemoteSyncStatus { method update (line 37) | pub(super) fn update(&mut self, required: Required) { function from (line 44) | fn from(o: SyncOutput) -> Self { type Error (line 77) | type Error = AnkiError; method try_from (line 79) | fn try_from(value: anki_proto::sync::SyncAuth) -> std::result::Result Result<()> { method media_sync_status (line 105) | fn media_sync_status(&self) -> Result { method abort_sync (line 109) | fn abort_sync(&self) -> Result<()> { method abort_media_sync (line 117) | fn abort_media_sync(&self) -> Result<()> { method sync_login (line 125) | fn sync_login( method sync_status (line 132) | fn sync_status( method sync_collection (line 139) | fn sync_collection( method full_upload_or_download (line 146) | fn full_upload_or_download( method set_custom_certificate (line 158) | fn set_custom_certificate( method sync_abort_handle (line 172) | fn sync_abort_handle( method sync_media_in_background (line 188) | pub(super) fn sync_media_in_background( method get_media_sync_status (line 211) | fn get_media_sync_status(&self) -> Result { method sync_media_blocking (line 237) | pub(super) fn sync_media_blocking( method abort_media_sync_and_wait (line 271) | pub(super) fn abort_media_sync_and_wait(&self) { method sync_login_inner (line 287) | pub(super) fn sync_login_inner( method sync_status_inner (line 312) | pub(super) fn sync_status_inner( method sync_collection_inner (line 354) | pub(super) fn sync_collection_inner( method full_sync_inner (line 401) | pub(super) fn full_sync_inner( function status_response_from_required (line 460) | fn status_response_from_required(required: Required) -> SyncStatusRespon... method from (line 468) | fn from(r: ClientSyncState) -> Self { method from (line 477) | fn from(r: SyncActionRequired) -> Self { FILE: rslib/src/browser_table.rs type Column (line 28) | pub enum Column { method cards_mode_label (line 156) | pub fn cards_mode_label(self, tr: &I18n) -> String { method notes_mode_label (line 182) | pub fn notes_mode_label(self, tr: &I18n) -> String { method cards_mode_tooltip (line 192) | pub fn cards_mode_tooltip(self, tr: &I18n) -> String { method notes_mode_tooltip (line 205) | pub fn notes_mode_tooltip(self, tr: &I18n) -> String { method default_cards_order (line 213) | pub fn default_cards_order(self) -> anki_proto::search::browser_column... method default_notes_order (line 217) | pub fn default_notes_order(self) -> anki_proto::search::browser_column... method default_order (line 221) | fn default_order(self, notes: bool) -> anki_proto::search::browser_col... method uses_cell_font (line 248) | pub fn uses_cell_font(self) -> bool { method alignment (line 252) | pub fn alignment(self) -> anki_proto::search::browser_columns::Alignme... type RowContext (line 63) | struct RowContext { method new (line 348) | fn new( method browser_row (line 408) | fn browser_row(&self, columns: &[Column]) -> Result Result Result { method card_original_position (line 453) | fn card_original_position(&self) -> String { method note_creation_str (line 464) | fn note_creation_str(&self) -> String { method note_field_str (line 470) | fn note_field_str(&self) -> String { method get_is_rtl (line 475) | fn get_is_rtl(&self, column: Column) -> bool { method get_elide_mode (line 485) | fn get_elide_mode( method template (line 496) | fn template(&self) -> Result<&CardTemplate> { method due_str (line 500) | fn due_str(&self) -> String { method card_due_str (line 508) | fn card_due_str(&self) -> String { method fsrs_stability_str (line 525) | fn fsrs_stability_str(&self) -> String { method fsrs_difficulty_str (line 533) | fn fsrs_difficulty_str(&self) -> String { method fsrs_retrievability_str (line 541) | fn fsrs_retrievability_str(&self) -> String { method note_due_str (line 561) | fn note_due_str(&self) -> String { method ease_str (line 573) | fn ease_str(&self) -> String { method interval_str (line 589) | fn interval_str(&self) -> String { method card_mod_str (line 614) | fn card_mod_str(&self) -> String { method deck_str (line 623) | fn deck_str(&self) -> String { method cards_str (line 638) | fn cards_str(&self) -> Result { method get_row_font_name (line 650) | fn get_row_font_name(&self) -> Result { method get_row_font_size (line 654) | fn get_row_font_size(&self) -> Result { method get_row_color (line 658) | fn get_row_color(&self) -> anki_proto::search::browser_row::Color { type RenderContext (line 75) | enum RenderContext { method new (line 302) | fn new(col: &mut Collection, card: &Card, note: &Note, notetype: &Note... method side_str (line 315) | fn side_str(&self, is_answer: bool) -> String { function card_render_required (line 86) | fn card_render_required(columns: &[Column]) -> bool { method is_new_type_or_queue (line 93) | fn is_new_type_or_queue(&self) -> bool { method is_filtered_deck (line 97) | fn is_filtered_deck(&self) -> bool { method is_undue_queue (line 102) | fn is_undue_queue(&self) -> bool { method is_due_in_days (line 107) | fn is_due_in_days(&self) -> bool { method due_time (line 114) | fn due_time(&self, timing: &SchedTimingToday) -> Option { method seconds_since_last_review (line 132) | pub(crate) fn seconds_since_last_review(&self, timing: &SchedTimingToday... method is_marked (line 148) | fn is_marked(&self) -> bool { method all_browser_columns (line 268) | pub fn all_browser_columns(&self) -> anki_proto::search::BrowserColumns { method browser_row_for_id (line 277) | pub fn browser_row_for_id(&mut self, id: i64) -> Result ... function rendered_nodes_to_str (line 336) | fn rendered_nodes_to_str(nodes: &[RenderedNode]) -> String { FILE: rslib/src/card/mod.rs method as_secs (line 33) | pub fn as_secs(self) -> TimestampSecs { type CardType (line 40) | pub enum CardType { type CardQueue (line 49) | pub enum CardQueue { type CardQueueNumber (line 67) | pub enum CardQueueNumber { type Card (line 76) | pub struct Card { method id (line 158) | pub fn id(&self) -> CardId { method note_id (line 162) | pub fn note_id(&self) -> NoteId { method deck_id (line 166) | pub fn deck_id(&self) -> DeckId { method template_idx (line 170) | pub fn template_idx(&self) -> u16 { method queue_number (line 174) | pub fn queue_number(&self) -> CardQueueNumber { method set_modified (line 185) | pub fn set_modified(&mut self, usn: Usn) { method clear_fsrs_data (line 190) | pub fn clear_fsrs_data(&mut self) { method set_deck (line 197) | fn set_deck(&mut self, deck: DeckId) { method set_flag (line 204) | fn set_flag(&mut self, flag: u8) -> bool { method remaining_steps (line 218) | pub fn remaining_steps(&self) -> u32 { method ease_factor (line 223) | pub fn ease_factor(&self) -> f32 { method is_intraday_learning (line 230) | pub fn is_intraday_learning(&self) -> bool { method new (line 234) | pub fn new(note_id: NoteId, template_idx: u16, deck_id: DeckId, due: i... method new_remaining_steps (line 248) | fn new_remaining_steps(&self, new_steps: &[f32], old_steps: &[f32]) ->... method review_seed (line 273) | pub fn review_seed(&self) -> u64 { type FsrsMemoryState (line 106) | pub struct FsrsMemoryState { method difficulty (line 116) | pub(crate) fn difficulty(&self) -> f32 { method difficulty_shifted (line 122) | pub(crate) fn difficulty_shifted(&self) -> f32 { method from (line 499) | fn from(value: MemoryState) -> Self { method default (line 128) | fn default() -> Self { method update_cards_maybe_undoable (line 281) | pub(crate) fn update_cards_maybe_undoable( method get_and_update_card (line 315) | pub(crate) fn get_and_update_card(&mut self, cid: CardId, func: F)... method update_card_inner (line 327) | pub(crate) fn update_card_inner( method add_card (line 337) | pub(crate) fn add_card(&mut self, card: &mut Card) -> Result<()> { method remove_cards_and_orphaned_notes (line 346) | pub(crate) fn remove_cards_and_orphaned_notes(&mut self, cids: &[CardId]... method set_deck (line 366) | pub fn set_deck(&mut self, cards: &[CardId], deck_id: DeckId) -> Result<... method set_card_flag (line 394) | pub fn set_card_flag(&mut self, cards: &[CardId], flag: u32) -> Result Result { function new (line 454) | fn new(new_config: &'a DeckConfig) -> Self { function adjust_remaining_steps (line 462) | fn adjust_remaining_steps(&mut self, col: &mut Collection, card: &mut Ca... function config_for_card (line 479) | fn config_for_card(&mut self, col: &mut Collection, card: &Card) -> Resu... method from (line 490) | fn from(value: FsrsMemoryState) -> Self { function should_increase_remaining_learning_steps_if_new_deck_has_more_unpassed_ones (line 515) | fn should_increase_remaining_learning_steps_if_new_deck_has_more_unpasse... function should_increase_remaining_relearning_steps_if_new_deck_has_more_unpassed_ones (line 526) | fn should_increase_remaining_relearning_steps_if_new_deck_has_more_unpas... function should_not_recalculate_remaining_steps_if_there_are_no_old_steps (line 537) | fn should_not_recalculate_remaining_steps_if_there_are_no_old_steps() ->... FILE: rslib/src/card/service.rs method get_card (line 20) | fn get_card( method update_cards (line 32) | fn update_cards( method remove_cards (line 48) | fn remove_cards( method set_deck (line 64) | fn set_deck( method set_flag (line 73) | fn set_flag( type Error (line 83) | type Error = AnkiError; method try_from (line 85) | fn try_from(c: anki_proto::cards::Card) -> error::Result Self { function to_card_ids (line 146) | fn to_card_ids(v: Vec) -> Vec { method from (line 151) | fn from(cid: anki_proto::cards::CardId) -> Self { method from (line 157) | fn from(value: anki_proto::cards::FsrsMemoryState) -> Self { function from (line 166) | fn from(value: FsrsMemoryState) -> Self { FILE: rslib/src/card/undo.rs type UndoableCardChange (line 7) | pub(crate) enum UndoableCardChange { method undo_card_change (line 16) | pub(crate) fn undo_card_change(&mut self, change: UndoableCardChange) ->... method add_card_undoable (line 32) | pub(super) fn add_card_undoable(&mut self, card: &mut Card) -> Result<()... method add_card_if_unique_undoable (line 38) | pub(crate) fn add_card_if_unique_undoable(&mut self, card: &Card) -> Res... method update_card_undoable (line 46) | pub(super) fn update_card_undoable(&mut self, card: &mut Card, original:... method remove_card_and_add_grave_undoable (line 52) | pub(crate) fn remove_card_and_add_grave_undoable( method restore_deleted_card (line 63) | fn restore_deleted_card(&mut self, card: Card) -> Result<()> { method remove_card_only (line 69) | fn remove_card_only(&mut self, card: Card) -> Result<()> { method add_card_grave_undoable (line 75) | fn add_card_grave_undoable(&mut self, cid: CardId, usn: Usn) -> Result<(... method remove_card_grave (line 80) | fn remove_card_grave(&mut self, cid: CardId, usn: Usn) -> Result<()> { FILE: rslib/src/card_rendering/mod.rs function strip_av_tags (line 13) | pub fn strip_av_tags + AsRef>(txt: S) -> String { function extract_av_tags (line 19) | pub fn extract_av_tags + AsRef>( function prettify_av_tags (line 29) | pub fn prettify_av_tags + AsRef>(txt: S) -> String { function nodes_or_text_only (line 37) | fn nodes_or_text_only(txt: &str) -> Option> { type CardNodes (line 43) | struct CardNodes<'a> { type Item (line 49) | type Item = &'iter Node<'nodes>; type IntoIter (line 50) | type IntoIter = std::slice::Iter<'iter, Node<'nodes>>; method into_iter (line 52) | fn into_iter(self) -> Self::IntoIter { type Node (line 58) | enum Node<'a> { type Directive (line 65) | enum Directive<'a> { type TtsDirective (line 71) | struct TtsDirective<'a> { type OtherDirective (line 81) | struct OtherDirective<'a> { function anki_directive_benchmark (line 89) | pub fn anki_directive_benchmark() { function av_stripping (line 109) | fn av_stripping() { function av_extracting (line 116) | fn av_extracting() { FILE: rslib/src/card_rendering/parser.rs type IResult (line 32) | type IResult<'a, O> = nom::IResult<&'a str, O>; function parse (line 35) | pub(super) fn parse(mut txt: &'a str) -> Self { function new (line 49) | fn new(name: &'a str, options: Vec<(&'a str, &'a str)>, content: &'a str... function trailing_whitespace0 (line 89) | fn trailing_whitespace0(parser: P) -> impl Parser( function node (line 106) | fn node(s: &str) -> IResult<'_, Node<'_>> { function sound_node (line 112) | fn sound_node(s: &str) -> IResult<'_, Node<'_>> { function take_till_potential_tag_start (line 120) | fn take_till_potential_tag_start(s: &str) -> IResult<'_, &str> { function tag_node (line 130) | fn tag_node(s: &str) -> IResult<'_, Node<'_>> { function text_node (line 200) | fn text_node(s: &str) -> IResult<'_, Node<'_>> { function parsing (line 215) | fn parsing() { FILE: rslib/src/card_rendering/service.rs method extract_av_tags (line 33) | fn extract_av_tags( method extract_latex (line 44) | fn extract_latex( method get_empty_cards (line 69) | fn get_empty_cards(&mut self) -> Result Result Result Result Self { function strip_html_proto (line 227) | pub(crate) fn strip_html_proto( FILE: rslib/src/card_rendering/tts/mod.rs function all_voices (line 15) | pub fn all_voices(validate: bool) -> Result> { function write_stream (line 19) | pub fn write_stream(path: &str, voice_id: &str, speed: f32, text: &str) ... FILE: rslib/src/card_rendering/tts/other.rs function all_voices (line 8) | pub(super) fn all_voices(_validate: bool) -> Result> { function write_stream (line 12) | pub(super) fn write_stream(_path: &str, _voice_id: &str, _speed: f32, _t... FILE: rslib/src/card_rendering/tts/windows.rs constant MAX_BUFFER_SIZE (line 20) | const MAX_BUFFER_SIZE: usize = 128 * 1024; function all_voices (line 22) | pub(super) fn all_voices(validate: bool) -> Result> { function write_stream (line 29) | pub(super) fn write_stream(path: &str, voice_id: &str, speed: f32, text:... function find_voice (line 36) | fn find_voice(voice_id: &str) -> Result { function to_hstring (line 47) | fn to_hstring(text: &str) -> HSTRING { function synthesize_stream (line 52) | fn synthesize_stream( function write_stream_to_path (line 74) | fn write_stream_to_path(stream: SpeechSynthesisStream, path: &str) -> Re... function write_reader_to_file (line 87) | fn write_reader_to_file(reader: DataReader, file: &mut File, stream_size... function tts_voice_from_information (line 99) | fn tts_voice_from_information(info: VoiceInformation, validate: bool) ->... FILE: rslib/src/card_rendering/writer.rs function write_without_av_tags (line 16) | pub(super) fn write_without_av_tags(&self) -> String { function write_and_extract_av_tags (line 20) | pub(super) fn write_and_extract_av_tags( function write_with_pretty_av_tags (line 29) | pub(super) fn write_with_pretty_av_tags(&self) -> String { type Write (line 34) | trait Write { method write (line 35) | fn write<'iter, 'nodes: 'iter, T>(&mut self, nodes: T) -> String method write_text (line 50) | fn write_text(&mut self, buf: &mut String, txt: &str) { method write_sound (line 54) | fn write_sound(&mut self, buf: &mut String, resource: &str) { method write_directive (line 58) | fn write_directive(&mut self, buf: &mut String, directive: &Directive) { method write_tts_directive (line 65) | fn write_tts_directive(&mut self, buf: &mut String, directive: &TtsDir... method write_other_directive (line 85) | fn write_other_directive(&mut self, buf: &mut String, directive: &Othe... method write_directive_option (line 95) | fn write_directive_option(&mut self, buf: &mut String, key: &str, val:... method write_directive_content (line 103) | fn write_directive_content(&mut self, buf: &mut String, content: &str) { method write_sound (line 117) | fn write_sound(&mut self, _buf: &mut String, _resource: &str) {} method write_tts_directive (line 119) | fn write_tts_directive(&mut self, _buf: &mut String, _directive: &TtsD... method write_sound (line 150) | fn write_sound(&mut self, buf: &mut String, resource: &str) { method write_tts_directive (line 159) | fn write_tts_directive(&mut self, buf: &mut String, directive: &TtsDir... method write_sound (line 206) | fn write_sound(&mut self, buf: &mut String, resource: &str) { method write_tts_directive (line 210) | fn write_tts_directive(&mut self, buf: &mut String, directive: &TtsDir... type AvStripper (line 108) | struct AvStripper; method new (line 111) | fn new() -> Self { type AvExtractor (line 122) | struct AvExtractor<'a> { function new (line 129) | fn new(question_side: bool, tr: &'a I18n) -> Self { function write_play_tag (line 137) | fn write_play_tag(&self, buf: &mut String) { function transform_tts_content (line 141) | fn transform_tts_content(&self, directive: &TtsDirective) -> String { function error (line 185) | fn error(&self, tr: &I18n) -> Option { type AvPrettifier (line 197) | struct AvPrettifier; method new (line 200) | fn new() -> Self { type Writer (line 219) | struct Writer; method new (line 222) | fn new() -> Self { function writing (line 239) | fn writing() { FILE: rslib/src/cloze.rs constant OPENING_TAG (line 44) | pub const OPENING_TAG: usize = 1; constant INNER_TEXT (line 45) | pub const INNER_TEXT: usize = 2; constant CLOSING_TAG (line 46) | pub const CLOSING_TAG: usize = 3; type Token (line 50) | enum Token<'a> { function tokenize (line 58) | fn tokenize(mut text: &str) -> impl Iterator> { type TextOrCloze (line 120) | enum TextOrCloze<'a> { type ExtractedCloze (line 126) | struct ExtractedCloze<'a> { function ordinals_str (line 134) | fn ordinals_str(ordinals: &[u16]) -> String { function hint (line 144) | fn hint(&self) -> &str { function clozed_text (line 148) | fn clozed_text(&self) -> Cow<'_, str> { function contains_ordinal (line 168) | fn contains_ordinal(&self, ordinal: u16) -> bool { function image_occlusion (line 173) | fn image_occlusion(&self) -> Option<&str> { function parse_text_with_clozes (line 181) | fn parse_text_with_clozes(text: &str) -> Vec> { function reveal_cloze_text_in_nodes (line 228) | fn reveal_cloze_text_in_nodes( function reveal_cloze (line 248) | fn reveal_cloze( function render_image_occlusion (line 330) | fn render_image_occlusion( function parse_image_occlusions (line 359) | pub fn parse_image_occlusions(text: &str) -> Vec { function reveal_cloze_text (line 383) | pub fn reveal_cloze_text(text: &str, cloze_ord: u16, question: bool) -> ... function reveal_cloze_text_only (line 406) | pub fn reveal_cloze_text_only(text: &str, cloze_ord: u16, question: bool... function extract_cloze_for_typing (line 414) | pub fn extract_cloze_for_typing(text: &str, cloze_ord: u16) -> Cow<'_, s... function expand_clozes_to_reveal_latex (line 432) | pub fn expand_clozes_to_reveal_latex(text: &str) -> String { function contains_cloze (line 447) | pub(crate) fn contains_cloze(text: &str) -> bool { function cloze_numbers_in_string (line 454) | pub fn cloze_numbers_in_string(html: &str) -> HashSet { function add_cloze_numbers_in_text_with_clozes (line 460) | fn add_cloze_numbers_in_text_with_clozes(nodes: &[TextOrCloze], set: &mu... function add_cloze_numbers_in_string (line 475) | pub fn add_cloze_numbers_in_string(field: &str, set: &mut HashSet) { function cloze_number_in_fields (line 480) | pub fn cloze_number_in_fields(fields: impl IntoIterator... function strip_clozes (line 488) | pub(crate) fn strip_clozes(text: &str) -> Cow<'_, str> { function strip_html_inside_mathjax (line 492) | fn strip_html_inside_mathjax(text: &str) -> Cow<'_, str> { function cloze_filter (line 504) | pub(crate) fn cloze_filter<'a>(text: &'a str, context: &RenderContext) -... function cloze_only_filter (line 512) | pub(crate) fn cloze_only_filter<'a>(text: &'a str, context: &RenderConte... function cloze (line 524) | fn cloze() { function cloze_only (line 551) | fn cloze_only() { function clozes_for_typing (line 567) | fn clozes_for_typing() { function nested_cloze_plain_text (line 580) | fn nested_cloze_plain_text() { function nested_cloze_html (line 608) | fn nested_cloze_html() { function strip_clozes_regex (line 650) | fn strip_clozes_regex() { function mathjax_html (line 660) | fn mathjax_html() { function non_latin (line 669) | fn non_latin() { function image_cloze (line 674) | fn image_cloze() { function multi_card_card_generation (line 688) | fn multi_card_card_generation() { function multi_card_cloze_basic (line 697) | fn multi_card_cloze_basic() { function multi_card_cloze_html_attributes (line 723) | fn multi_card_cloze_html_attributes() { function multi_card_cloze_with_hints (line 737) | fn multi_card_cloze_with_hints() { function multi_card_cloze_edge_cases (line 760) | fn multi_card_cloze_edge_cases() { function multi_card_cloze_only_filter (line 778) | fn multi_card_cloze_only_filter() { function multi_card_nested_cloze (line 788) | fn multi_card_nested_cloze() { function nested_parent_child_card_same_cloze (line 813) | fn nested_parent_child_card_same_cloze() { function multi_card_image_occlusion (line 828) | fn multi_card_image_occlusion() { FILE: rslib/src/collection/backup.rs constant BACKUP_FORMAT_STRING (line 23) | const BACKUP_FORMAT_STRING: &str = "backup-%Y-%m-%d-%H.%M.%S.colpkg"; method maybe_backup (line 28) | pub fn maybe_backup( function should_skip_backup (line 51) | fn should_skip_backup( function has_recent_backup (line 63) | fn has_recent_backup(backup_folder: &Path, recent_mins: u32) -> Result>( function write_backup (line 94) | fn write_backup>(col_data: &[u8], backup_folder: S, tr: ... function thin_backups (line 100) | fn thin_backups>(backup_folder: P, limits: BackupLimits) ... function datetime_from_file_name (line 113) | fn datetime_from_file_name(file_name: &str) -> Option> { type Backup (line 120) | struct Backup { method day (line 127) | fn day(&self) -> i32 { method week (line 132) | fn week(&self) -> i32 { method month (line 139) | fn month(&self) -> u32 { method from_entry (line 145) | fn from_entry(entry: DirEntry) -> Option { type BackupFilter (line 158) | struct BackupFilter { method new (line 175) | fn new(today: DateTime, limits: BackupLimits) -> Self { method obsolete_backups (line 186) | fn obsolete_backups(mut self, backups: impl Iterator) -... method is_recent (line 209) | fn is_recent(&self, backup: &Backup) -> bool { method remaining (line 213) | fn remaining(&self, stage: BackupStage) -> bool { method mark_fresh_or_obsolete (line 221) | fn mark_fresh_or_obsolete(&mut self, stage: BackupStage, backup: Backu... method mark_fresh (line 235) | fn mark_fresh(&mut self, stage: Option, backup: Backup) { method mark_obsolete (line 247) | fn mark_obsolete(&mut self, backup: Backup) { type BackupStage (line 168) | enum BackupStage { function thinning_manual (line 292) | fn thinning_manual() { function thinning_generic (line 339) | fn thinning_generic() { FILE: rslib/src/collection/mod.rs type CollectionBuilder (line 36) | pub struct CollectionBuilder { method new (line 49) | pub fn new(col_path: impl Into) -> Self { method build (line 55) | pub fn build(&mut self) -> Result { method set_collection_path (line 81) | pub fn set_collection_path>(&mut self, collection: P)... method set_media_paths (line 86) | pub fn set_media_paths>(&mut self, media_folder: P, m... method with_desktop_media_paths (line 95) | pub fn with_desktop_media_paths(&mut self) -> &mut Self { method set_server (line 103) | pub fn set_server(&mut self, server: bool) -> &mut Self { method set_tr (line 108) | pub fn set_tr(&mut self, tr: I18n) -> &mut Self { method set_check_integrity (line 113) | pub fn set_check_integrity(&mut self, check_integrity: bool) -> &mut S... method set_shared_progress_state (line 120) | pub fn set_shared_progress_state(&mut self, state: Arc CollectionBuilder { method changes_since_open (line 174) | pub fn changes_since_open(&self) -> Result { method close (line 181) | pub fn close(self, desired_version: Option) -> Result<(... method usn (line 185) | pub(crate) fn usn(&self) -> Result { method before_upload (line 192) | pub(crate) fn before_upload(&mut self) -> Result<()> { method clear_caches (line 210) | pub(crate) fn clear_caches(&mut self) { method tr (line 215) | pub fn tr(&self) -> &I18n { method fmt (line 154) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { FILE: rslib/src/collection/service.rs method check_database (line 14) | fn check_database(&mut self) -> error::Result error::Result error::Result error::Result error::Re... method merge_undo_entries (line 39) | fn merge_undo_entries( method latest_progress (line 47) | fn latest_progress(&mut self) -> error::Result error::Result<()> { method set_load_balancer_enabled (line 57) | fn set_load_balancer_enabled( method get_custom_colours (line 68) | fn get_custom_colours( FILE: rslib/src/collection/timestamps.rs type CollectionTimestamps (line 6) | pub(crate) struct CollectionTimestamps { method collection_changed_since_sync (line 13) | pub fn collection_changed_since_sync(&self) -> bool { method schema_changed_since_sync (line 17) | pub fn schema_changed_since_sync(&self) -> bool { method set_modified (line 26) | pub fn set_modified(&mut self) -> Result<()> { method set_schema_modified (line 32) | pub fn set_schema_modified(&mut self) -> Result<()> { method changed_since_last_backup (line 37) | pub fn changed_since_last_backup(&self) -> Result { method update_last_backup_timestamp (line 46) | pub(crate) fn update_last_backup_timestamp(&mut self) -> Result<()> { FILE: rslib/src/collection/transact.rs method transact_inner (line 8) | fn transact_inner(&mut self, op: Option, func: F) -> Result(&mut self, op: Op, func: F) -> Result(&mut self, func: F) -> Result FILE: rslib/src/collection/undo.rs type UndoableCollectionChange (line 7) | pub(crate) enum UndoableCollectionChange { method undo_collection_change (line 13) | pub(crate) fn undo_collection_change( method set_modified_time_undoable (line 29) | pub(super) fn set_modified_time_undoable( method set_schema_modified_time_undoable (line 38) | pub(super) fn set_schema_modified_time_undoable( FILE: rslib/src/config/bool.rs type BoolKey (line 10) | pub enum BoolKey { method get_config_bool (line 58) | pub fn get_config_bool(&self, key: BoolKey) -> bool { method set_config_bool (line 78) | pub fn set_config_bool( method set_config_bool_inner (line 97) | pub(crate) fn set_config_bool_inner(&mut self, key: BoolKey, value: bool... FILE: rslib/src/config/deck.rs type DeckConfigKey (line 11) | pub enum DeckConfigKey { method for_deck (line 18) | pub fn for_deck(self, did: DeckId) -> String { method clear_aux_config_for_deck (line 24) | pub(crate) fn clear_aux_config_for_deck(&mut self, ntid: DeckId) -> Resu... method get_last_notetype_for_deck (line 28) | pub(crate) fn get_last_notetype_for_deck(&self, id: DeckId) -> Option String { FILE: rslib/src/config/mod.rs type ConfigEntry (line 29) | pub(crate) struct ConfigEntry { method boxed (line 37) | pub(crate) fn boxed(key: &str, value: Vec, usn: Usn, mtime: Timest... type ConfigKey (line 49) | pub(crate) enum ConfigKey { type SchedulerVersion (line 79) | pub enum SchedulerVersion { method set_config_json (line 85) | pub fn set_config_json( method remove_config (line 102) | pub fn remove_config(&mut self, key: &str) -> Result> { method get_config_optional (line 109) | pub(crate) fn get_config_optional<'a, T, K>(&self, key: K) -> Option method get_config_default (line 124) | pub(crate) fn get_config_default<'a, T, K>(&self, key: K) -> T method set_config (line 133) | pub(crate) fn set_config<'a, T: Serialize, K>(&mut self, key: K, val: &T... method remove_config_inner (line 146) | pub(crate) fn remove_config_inner<'a, K>(&mut self, key: K) -> Result<()> method remove_config_prefix (line 154) | pub(crate) fn remove_config_prefix(&mut self, key: &str) -> Result<()> { method get_creation_utc_offset (line 161) | pub(crate) fn get_creation_utc_offset(&self) -> Option { method set_creation_utc_offset (line 165) | pub(crate) fn set_creation_utc_offset(&mut self, mins: Option) -> R... method get_configured_utc_offset (line 176) | pub fn get_configured_utc_offset(&self) -> Option { method set_configured_utc_offset (line 181) | pub fn set_configured_utc_offset(&mut self, mins: i32) -> Result<()> { method get_v2_rollover (line 186) | pub(crate) fn get_v2_rollover(&self) -> Option { method set_v2_rollover (line 191) | pub(crate) fn set_v2_rollover(&mut self, hour: u32) -> Result<()> { method get_next_card_position (line 196) | pub(crate) fn get_next_card_position(&self) -> u32 { method get_and_update_next_card_position (line 200) | pub(crate) fn get_and_update_next_card_position(&mut self) -> Result { method set_next_card_position (line 208) | pub(crate) fn set_next_card_position(&mut self, pos: u32) -> Result<()> { method scheduler_version (line 213) | pub(crate) fn scheduler_version(&self) -> SchedulerVersion { method v2_enabled (line 218) | pub fn v2_enabled(&self) -> bool { method v3_enabled (line 222) | pub fn v3_enabled(&self) -> bool { method set_scheduler_version_config_key (line 227) | pub(crate) fn set_scheduler_version_config_key(&mut self, ver: Scheduler... method learn_ahead_secs (line 233) | pub(crate) fn learn_ahead_secs(&self) -> u32 { method set_learn_ahead_secs (line 238) | pub(crate) fn set_learn_ahead_secs(&mut self, secs: u32) -> Result<()> { method get_new_review_mix (line 243) | pub(crate) fn get_new_review_mix(&self) -> NewReviewMix { method set_new_review_mix (line 251) | pub(crate) fn set_new_review_mix(&mut self, mix: NewReviewMix) -> Result... method get_first_day_of_week (line 256) | pub(crate) fn get_first_day_of_week(&self) -> Weekday { method set_first_day_of_week (line 261) | pub(crate) fn set_first_day_of_week(&mut self, weekday: Weekday) -> Resu... method get_answer_time_limit_secs (line 266) | pub(crate) fn get_answer_time_limit_secs(&self) -> u32 { method set_answer_time_limit_secs (line 271) | pub(crate) fn set_answer_time_limit_secs(&mut self, secs: u32) -> Result... method get_last_unburied_day (line 276) | pub(crate) fn get_last_unburied_day(&self) -> u32 { method set_last_unburied_day (line 281) | pub(crate) fn set_last_unburied_day(&mut self, day: u32) -> Result<()> { method get_backup_limits (line 286) | pub(crate) fn get_backup_limits(&self) -> BackupLimits { method set_backup_limits (line 298) | pub(crate) fn set_backup_limits(&mut self, limits: BackupLimits) -> Resu... method get_update_notes (line 302) | pub(crate) fn get_update_notes(&self) -> UpdateCondition { method get_update_notetypes (line 307) | pub(crate) fn get_update_notetypes(&self) -> UpdateCondition { type NewReviewMix (line 315) | pub(crate) enum NewReviewMix { type Weekday (line 324) | pub(crate) enum Weekday { function defaults (line 336) | fn defaults() { function get_set (line 342) | fn get_set() { FILE: rslib/src/config/notetype.rs type NotetypeConfigKey (line 15) | enum NotetypeConfigKey { method for_notetype (line 41) | fn for_notetype(self, ntid: NotetypeId) -> String { method get_aux_template_config_key (line 21) | pub fn get_aux_template_config_key( method get_current_notetype_id (line 48) | pub(crate) fn get_current_notetype_id(&self) -> Option { method set_current_notetype_id (line 52) | pub(crate) fn set_current_notetype_id(&mut self, ntid: NotetypeId) -> Re... method clear_aux_config_for_notetype (line 57) | pub(crate) fn clear_aux_config_for_notetype(&mut self, ntid: NotetypeId)... method get_last_deck_added_to_for_notetype (line 61) | pub(crate) fn get_last_deck_added_to_for_notetype(&self, id: NotetypeId)... method set_last_deck_for_notetype (line 66) | pub(crate) fn set_last_deck_for_notetype(&mut self, id: NotetypeId, did:... function get_aux_notetype_config_key (line 72) | pub fn get_aux_notetype_config_key(ntid: NotetypeId, key: &str) -> String { FILE: rslib/src/config/number.rs type I32ConfigKey (line 10) | pub enum I32ConfigKey { method get_config_i32 (line 17) | pub fn get_config_i32(&self, key: I32ConfigKey) -> i32 { method set_config_i32_inner (line 26) | pub(crate) fn set_config_i32_inner(&mut self, key: I32ConfigKey, value: ... FILE: rslib/src/config/schema11.rs function schema11_config_as_string (line 10) | pub(crate) fn schema11_config_as_string(creation_offset: Option) ->... FILE: rslib/src/config/string.rs type StringKey (line 10) | pub enum StringKey { method get_config_string (line 18) | pub fn get_config_string(&self, key: StringKey) -> String { method set_config_string (line 28) | pub fn set_config_string( method set_config_string_inner (line 47) | pub(crate) fn set_config_string_inner(&mut self, key: StringKey, val: &s... FILE: rslib/src/config/undo.rs type UndoableConfigChange (line 8) | pub(crate) enum UndoableConfigChange { method undo_config_change (line 15) | pub(crate) fn undo_config_change(&mut self, change: UndoableConfigChange... method set_config_undoable (line 31) | pub(super) fn set_config_undoable(&mut self, entry: Box) ->... method remove_config_undoable (line 40) | pub(super) fn remove_config_undoable(&mut self, key: &str) -> Result<()> { method add_config_entry_undoable (line 49) | fn add_config_entry_undoable(&mut self, entry: Box) -> Resu... method update_config_entry_undoable (line 56) | fn update_config_entry_undoable( function undo (line 76) | fn undo() -> Result<()> { FILE: rslib/src/dbcheck.rs type CheckDatabaseOutput (line 32) | pub struct CheckDatabaseOutput { method to_i18n_strings (line 61) | pub fn to_i18n_strings(&self, tr: &I18n) -> Vec { type DatabaseCheckProgress (line 48) | pub enum DatabaseCheckProgress { method check_database (line 110) | pub(crate) fn check_database(&mut self) -> Result { method check_database_inner (line 129) | fn check_database_inner( method check_card_properties (line 166) | fn check_card_properties(&mut self, out: &mut CheckDatabaseOutput) -> Re... method check_orphaned_cards (line 190) | fn check_orphaned_cards(&mut self, out: &mut CheckDatabaseOutput) -> Res... method check_missing_deck_ids (line 199) | fn check_missing_deck_ids(&mut self, out: &mut CheckDatabaseOutput) -> R... method check_filtered_cards (line 208) | fn check_filtered_cards(&mut self, out: &mut CheckDatabaseOutput) -> Res... method check_notetypes (line 233) | fn check_notetypes( method get_note_fixing_invalid_utf8 (line 334) | fn get_note_fixing_invalid_utf8( method remove_duplicate_card_ordinals (line 360) | fn remove_duplicate_card_ordinals( method remove_cards_without_template (line 376) | fn remove_cards_without_template( method recover_notetype (line 395) | fn recover_notetype( method check_revlog (line 421) | fn check_revlog(&mut self, out: &mut CheckDatabaseOutput) -> Result<()> { method check_missing_deck_names (line 431) | fn check_missing_deck_names(&mut self, out: &mut CheckDatabaseOutput) ->... method update_next_new_position (line 437) | fn update_next_new_position(&mut self) -> Result<()> { method maybe_fix_invalid_ids (line 442) | pub(crate) fn maybe_fix_invalid_ids(&mut self) -> Result { method add_missing_field_tags (line 452) | fn add_missing_field_tags(&mut self, nt: &mut Notetype) -> Result<()> { function cards (line 485) | fn cards() -> Result<()> { function revlog (line 547) | fn revlog() -> Result<()> { function note_card_link (line 572) | fn note_card_link() -> Result<()> { function note_fields (line 621) | fn note_fields() -> Result<()> { function deck_names (line 661) | fn deck_names() -> Result<()> { function tags (line 695) | fn tags() -> Result<()> { FILE: rslib/src/deckconfig/mod.rs constant INITIAL_EASE_FACTOR_THOUSANDS (line 23) | pub(crate) const INITIAL_EASE_FACTOR_THOUSANDS: u16 = (INITIAL_EASE_FACT... type DeckConfig (line 32) | pub struct DeckConfig { method set_modified (line 106) | pub(crate) fn set_modified(&mut self, usn: Usn) { method fsrs_params (line 112) | pub fn fsrs_params(&self) -> &Vec { constant DEFAULT_DECK_CONFIG_INNER (line 41) | const DEFAULT_DECK_CONFIG_INNER: DeckConfigInner = DeckConfigInner { method default (line 89) | fn default() -> Self { method get_deck_config (line 125) | pub fn get_deck_config( method add_or_update_deck_config (line 146) | pub(crate) fn add_or_update_deck_config(&mut self, config: &mut DeckConf... method add_or_update_deck_config_legacy (line 162) | pub(crate) fn add_or_update_deck_config_legacy( method add_deck_config_inner (line 179) | pub(crate) fn add_deck_config_inner( method update_deck_config_inner (line 193) | pub(crate) fn update_deck_config_inner( method remove_deck_config_inner (line 209) | pub(crate) fn remove_deck_config_inner(&mut self, dcid: DeckConfigId) ->... function ensure_deck_config_values_valid (line 220) | pub(crate) fn ensure_deck_config_values_valid(config: &mut DeckConfigInn... function ensure_f32_valid (line 310) | fn ensure_f32_valid(val: &mut f32, default: f32, min: f32, max: f32) { function ensure_u32_valid (line 316) | fn ensure_u32_valid(val: &mut u32, default: u32, min: u32, max: u32) { FILE: rslib/src/deckconfig/schema11.rs function wait_for_audio_default (line 27) | fn wait_for_audio_default() -> bool { type DeckConfSchema11 (line 33) | pub struct DeckConfSchema11 { method from (line 407) | fn from(c: DeckConfig) -> DeckConfSchema11 { type QuestionAction (line 108) | pub enum QuestionAction { type AnswerAction (line 117) | pub enum AnswerAction { type NewConfSchema11 (line 128) | pub struct NewConfSchema11 { type NewCardIntervals (line 146) | pub struct NewCardIntervals { method default (line 153) | fn default() -> Self { function deserialize_new_intervals (line 164) | fn deserialize_new_intervals<'de, D>(deserializer: D) -> Result f32 { type RevConfSchema11 (line 200) | pub struct RevConfSchema11 { type LeechAction (line 218) | pub enum LeechAction { type LapseConfSchema11 (line 226) | pub struct LapseConfSchema11 { method default (line 240) | fn default() -> Self { method default (line 254) | fn default() -> Self { method default (line 268) | fn default() -> Self { method default (line 281) | fn default() -> Self { method from (line 324) | fn from(mut c: DeckConfSchema11) -> DeckConfig { function all_reserved_fields_are_removed (line 573) | fn all_reserved_fields_are_removed() -> Result<()> { function new_intervals (line 589) | fn new_intervals() { FILE: rslib/src/deckconfig/service.rs method add_or_update_deck_config_legacy (line 19) | fn add_or_update_deck_config_legacy( method all_deck_config_legacy (line 32) | fn all_deck_config_legacy(&mut self) -> Result { method get_deck_config (line 44) | fn get_deck_config( method get_deck_config_legacy (line 53) | fn get_deck_config_legacy( method new_deck_config_legacy (line 62) | fn new_deck_config_legacy(&mut self) -> Result { method remove_deck_config (line 68) | fn remove_deck_config(&mut self, input: anki_proto::deck_config::DeckCon... method get_deck_configs_for_update (line 72) | fn get_deck_configs_for_update( method update_deck_configs (line 79) | fn update_deck_configs( method get_ignored_before_count (line 86) | fn get_ignored_before_count( method get_retention_workload (line 105) | fn get_retention_workload( function from (line 150) | fn from(c: DeckConfig) -> Self { method from (line 162) | fn from(c: anki_proto::deck_config::UpdateDeckConfigsRequest) -> Self { method from (line 181) | fn from(c: anki_proto::deck_config::DeckConfig) -> Self { method from (line 193) | fn from(dcid: anki_proto::deck_config::DeckConfigId) -> Self { FILE: rslib/src/deckconfig/undo.rs type UndoableDeckConfigChange (line 8) | pub(crate) enum UndoableDeckConfigChange { method undo_deck_config_change (line 15) | pub(crate) fn undo_deck_config_change( method remove_deck_config_undoable (line 32) | pub(crate) fn remove_deck_config_undoable(&mut self, config: DeckConfig)... method add_deck_config_undoable (line 38) | pub(super) fn add_deck_config_undoable( method add_deck_config_if_unique_undoable (line 47) | pub(crate) fn add_deck_config_if_unique_undoable(&mut self, config: &Dec... method update_deck_config_undoable (line 54) | pub(super) fn update_deck_config_undoable( method restore_deleted_deck_config (line 63) | fn restore_deleted_deck_config(&mut self, config: DeckConfig) -> Result<... FILE: rslib/src/deckconfig/update.rs type UpdateDeckConfigsRequest (line 33) | pub struct UpdateDeckConfigsRequest { method get_deck_configs_for_update (line 50) | pub fn get_deck_configs_for_update( method update_deck_configs (line 83) | pub fn update_deck_configs(&mut self, input: UpdateDeckConfigsRequest) -... method get_deck_config_with_extra_for_update (line 91) | fn get_deck_config_with_extra_for_update(&self) -> Result Result Result Result> { method update_deck_configs_inner (line 159) | fn update_deck_configs_inner(&mut self, mut req: UpdateDeckConfigsReques... method adjust_remaining_steps_in_deck (line 320) | pub(crate) fn adjust_remaining_steps_in_deck( method compute_all_params (line 351) | fn compute_all_params(&mut self, req: &mut UpdateDeckConfigsRequest) -> ... function normal_deck_to_limits (line 404) | fn normal_deck_to_limits(deck: &NormalDeck, today: u32) -> Limits { function update_deck_limits (line 422) | fn update_deck_limits(deck: &mut NormalDeck, limits: &Limits, today: u32) { function update_day_limit (line 430) | fn update_day_limit(day_limit: &mut Option, new_limit: Option<... function updating (line 454) | fn updating() -> Result<()> { function should_increase_remaining_learning_steps_if_unpassed_learning_step_added (line 556) | fn should_increase_remaining_learning_steps_if_unpassed_learning_step_ad... function should_keep_remaining_learning_steps_if_unpassed_relearning_step_added (line 563) | fn should_keep_remaining_learning_steps_if_unpassed_relearning_step_adde... function should_keep_remaining_learning_steps_if_passed_learning_step_added (line 570) | fn should_keep_remaining_learning_steps_if_passed_learning_step_added() { function should_keep_at_least_one_remaining_learning_step (line 578) | fn should_keep_at_least_one_remaining_learning_step() { function should_increase_remaining_relearning_steps_if_unpassed_relearning_step_added (line 586) | fn should_increase_remaining_relearning_steps_if_unpassed_relearning_ste... function should_keep_remaining_relearning_steps_if_unpassed_learning_step_added (line 593) | fn should_keep_remaining_relearning_steps_if_unpassed_learning_step_adde... function should_keep_remaining_relearning_steps_if_passed_relearning_step_added (line 600) | fn should_keep_remaining_relearning_steps_if_passed_relearning_step_adde... function should_keep_at_least_one_remaining_relearning_step (line 609) | fn should_keep_at_least_one_remaining_relearning_step() { FILE: rslib/src/decks/addupdate.rs method add_deck (line 12) | pub fn add_deck(&mut self, deck: &mut Deck) -> Result> { method update_deck (line 16) | pub fn update_deck(&mut self, deck: &mut Deck) -> Result> { method add_or_update_deck (line 27) | pub fn add_or_update_deck(&mut self, deck: &mut Deck) -> Result Re... method update_deck_inner (line 54) | pub(crate) fn update_deck_inner( method add_or_update_single_deck_with_existing_id (line 84) | pub(crate) fn add_or_update_single_deck_with_existing_id( method recover_missing_deck (line 93) | pub(crate) fn recover_missing_deck(&mut self, did: DeckId, usn: Usn) -> ... method add_parent_deck (line 103) | fn add_parent_deck(&mut self, machine_name: &str, usn: Usn) -> Result<()> { method match_or_create_parents (line 114) | fn match_or_create_parents(&mut self, deck: &mut Deck, usn: Usn) -> Resu... method create_missing_parents (line 140) | fn create_missing_parents(&mut self, name: &NativeDeckName, usn: Usn) ->... method first_existing_parent (line 151) | pub(crate) fn first_existing_parent( FILE: rslib/src/decks/counts.rs type DueCounts (line 8) | pub(crate) struct DueCounts { method new_rev_counts (line 22) | pub(crate) fn new_rev_counts(&self, today: u32) -> (i32, i32) { method due_counts (line 33) | pub(crate) fn due_counts( method counts_for_deck_today (line 41) | pub(crate) fn counts_for_deck_today( FILE: rslib/src/decks/current.rs method set_current_deck (line 10) | pub fn set_current_deck(&mut self, deck: DeckId) -> Result> { method get_current_deck (line 16) | pub fn get_current_deck(&mut self) -> Result> { method get_current_deck_id (line 27) | pub(crate) fn get_current_deck_id(&self) -> DeckId { method set_current_deck_inner (line 32) | fn set_current_deck_inner(&mut self, deck: DeckId) -> Result<()> { method set_current_deck_id (line 39) | fn set_current_deck_id(&mut self, did: DeckId) -> Result { FILE: rslib/src/decks/filtered.rs method new_filtered (line 13) | pub fn new_filtered() -> Deck { method is_filtered (line 42) | pub(crate) fn is_filtered(&self) -> bool { function search_order_labels (line 47) | pub fn search_order_labels(tr: &I18n) -> Vec { function search_order_label (line 53) | fn search_order_label(order: FilteredSearchOrder, tr: &I18n) -> String { FILE: rslib/src/decks/limits.rs type LimitKind (line 20) | pub(crate) enum LimitKind { function current_review_limit (line 27) | pub fn current_review_limit(deck: &NormalDeck, today: u32) -> Option { function current_new_limit (line 33) | pub fn current_new_limit(deck: &NormalDeck, today: u32) -> Option { function review_limit_today (line 38) | pub fn review_limit_today(deck: &NormalDeck, today: u32) -> Option { function new_limit_today (line 44) | pub fn new_limit_today(deck: &NormalDeck, today: u32) -> Option { function limit_if_today (line 49) | pub fn limit_if_today(limit: DayLimit, today: u32) -> Option { type RemainingLimits (line 54) | pub(crate) struct RemainingLimits { method new (line 61) | pub(crate) fn new( method new_for_normal_deck (line 81) | fn new_for_normal_deck( method new_for_normal_deck_v3 (line 91) | fn new_for_normal_deck_v3( method get (line 118) | pub(crate) fn get(&self, kind: LimitKind) -> u32 { method cap_to (line 125) | pub(crate) fn cap_to(&mut self, limits: RemainingLimits) { method decrement (line 131) | fn decrement(&mut self, kind: LimitKind) -> DecrementResult { type DecrementResult (line 146) | struct DecrementResult { method new (line 151) | fn new(before: &RemainingLimits, after: &RemainingLimits) -> Self { method default (line 160) | fn default() -> Self { function remaining_limits_map (line 169) | pub(crate) fn remaining_limits_map<'a>( type NodeLimits (line 192) | struct NodeLimits { method new (line 199) | fn new( type LimitTreeMap (line 218) | pub(crate) struct LimitTreeMap { method build (line 231) | pub(crate) fn build( method add_child_nodes (line 264) | fn add_child_nodes<'d>( method insert_child_node (line 316) | fn insert_child_node( method get_node_id (line 339) | fn get_node_id(&self, deck_id: DeckId) -> Result<&NodeId> { method get_node_limits (line 345) | fn get_node_limits(&self, node_id: &NodeId) -> RemainingLimits { method get_deck_limits (line 349) | fn get_deck_limits(&self, deck_id: DeckId) -> Result { method get_root_limits (line 354) | fn get_root_limits(&self) -> RemainingLimits { method root_limit_reached (line 358) | pub(crate) fn root_limit_reached(&self, kind: LimitKind) -> bool { method limit_reached (line 362) | pub(crate) fn limit_reached(&self, deck_id: DeckId, kind: LimitKind) -... method decrement_deck_and_parent_limits (line 366) | pub(crate) fn decrement_deck_and_parent_limits( method decrement_node_and_parent_limits (line 376) | fn decrement_node_and_parent_limits(&mut self, node_id: &NodeId, kind:... method cap_node_and_descendants (line 391) | fn cap_node_and_descendants(&mut self, node_id: &NodeId, limits: Remai... FILE: rslib/src/decks/mod.rs method or (line 44) | pub(crate) fn or(self, other: DeckId) -> Self { type Deck (line 54) | pub struct Deck { method new_normal (line 64) | pub fn new_normal() -> Deck { method config_id (line 85) | pub fn config_id(&self) -> Option { method effective_desired_retention (line 96) | pub fn effective_desired_retention(&self, config: &DeckConfig) -> f32 { method normal (line 106) | pub(crate) fn normal(&self) -> Result<&NormalDeck> { method normal_mut (line 114) | pub(crate) fn normal_mut(&mut self) -> Result<&mut NormalDeck> { method filtered (line 121) | pub(crate) fn filtered(&self) -> Result<&FilteredDeck> { method filtered_mut (line 130) | pub(crate) fn filtered_mut(&mut self) -> Result<&mut FilteredDeck> { method set_modified (line 138) | pub(crate) fn set_modified(&mut self, usn: Usn) { method rendered_description (line 143) | pub fn rendered_description(&self) -> String { method get_or_create_normal_deck (line 160) | pub fn get_or_create_normal_deck(&mut self, human_name: &str) -> Result<... method get_deck (line 174) | pub fn get_deck(&mut self, did: DeckId) -> Result>> { method default_deck_is_empty (line 187) | pub(crate) fn default_deck_is_empty(&self) -> Result { method get_deck_id (line 193) | pub fn get_deck_id(&self, human_name: &str) -> Result> { function sorted_names (line 204) | fn sorted_names(col: &Collection) -> Vec { function adding_updating (line 214) | fn adding_updating() -> Result<()> { function renaming (line 234) | fn renaming() -> Result<()> { function default (line 303) | fn default() -> Result<()> { FILE: rslib/src/decks/name.rs type NativeDeckName (line 11) | pub struct NativeDeckName(String); method from_human_name (line 15) | pub fn from_human_name(name: impl AsRef) -> Self { method human_name (line 25) | pub fn human_name(&self) -> String { method add_suffix (line 29) | pub(crate) fn add_suffix(&mut self, suffix: &str) { method from_native_str (line 34) | pub(crate) fn from_native_str>(name: N) -> Self { method as_native_str (line 39) | pub(crate) fn as_native_str(&self) -> &str { method components (line 43) | pub(crate) fn components(&self) -> std::str::Split<'_, char> { method maybe_normalize (line 49) | pub(crate) fn maybe_normalize(&mut self) -> bool { method reparented_name (line 65) | pub(crate) fn reparented_name(&self, target: Option<&NativeDeckName>) ... method reparent (line 85) | fn reparent(&mut self, old_parent: &NativeDeckName, new_parent: &Nativ... method fmt (line 93) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method human_name (line 99) | pub fn human_name(&self) -> String { method get_all_normal_deck_names (line 105) | pub fn get_all_normal_deck_names( method rename_deck (line 127) | pub fn rename_deck(&mut self, did: DeckId, new_human_name: &str) -> Resu... method rename_child_decks (line 136) | pub(super) fn rename_child_decks( method ensure_deck_name_unique (line 153) | pub(crate) fn ensure_deck_name_unique(&self, deck: &mut Deck, usn: Usn) ... method get_all_deck_names (line 167) | pub fn get_all_deck_names(&self, skip_default: bool) -> Result Result bool { function normalized_deck_name_component (line 194) | fn normalized_deck_name_component(comp: &str) -> Cow<'_, str> { function immediate_parent_name (line 209) | pub(crate) fn immediate_parent_name(machine_name: &str) -> Option<&str> { function parent (line 218) | fn parent() { function from_human (line 228) | fn from_human() { function normalize (line 244) | fn normalize() { function drag_drop (line 259) | fn drag_drop() { FILE: rslib/src/decks/remove.rs method remove_decks_and_child_decks (line 6) | pub fn remove_decks_and_child_decks(&mut self, dids: &[DeckId]) -> Resul... method remove_single_deck (line 27) | pub(crate) fn remove_single_deck(&mut self, deck: &Deck, usn: Usn) -> Re... method delete_all_cards_in_normal_deck (line 53) | fn delete_all_cards_in_normal_deck(&mut self, did: DeckId) -> Result(deserializer: D) -> Result method common (line 209) | pub fn common(&self) -> &DeckCommonSchema11 { method id (line 216) | pub fn id(&self) -> DeckId { method name (line 220) | pub fn name(&self) -> &str { method from (line 363) | fn from(deck: Deck) -> Self { function is_false (line 86) | fn is_false(b: &bool) -> bool { type DeckCommonSchema11 (line 91) | pub struct DeckCommonSchema11 { method from (line 396) | fn from(deck: Deck) -> Self { type NormalDeckSchema11 (line 120) | pub struct NormalDeckSchema11 { type FilteredDeckSchema11 (line 144) | pub struct FilteredDeckSchema11 { type DeckTodaySchema11 (line 172) | pub struct DeckTodaySchema11 { method from (line 443) | fn from(deck: &Deck) -> Self { type TodayAmountSchema11 (line 185) | pub struct TodayAmountSchema11 { method from (line 191) | fn from(mut v: Vec) -> Self { type FilteredSearchTermSchema11 (line 201) | pub struct FilteredSearchTermSchema11 { method from (line 468) | fn from(term: FilteredSearchTerm) -> Self { method default (line 226) | fn default() -> Self { method default (line 232) | fn default() -> Self { method from (line 262) | fn from(deck: DeckSchema11) -> Self { method from (line 285) | fn from(common: &DeckCommonSchema11) -> Self { method from (line 320) | fn from(deck: NormalDeckSchema11) -> Self { method from (line 337) | fn from(deck: FilteredDeckSchema11) -> Self { method from (line 351) | fn from(term: FilteredSearchTermSchema11) -> Self { function all_reserved_fields_are_removed (line 484) | fn all_reserved_fields_are_removed() -> Result<()> { FILE: rslib/src/decks/service.rs method new_deck (line 21) | fn new_deck(&mut self) -> error::Result { method add_deck (line 25) | fn add_deck( method add_deck_legacy (line 33) | fn add_deck_legacy( method add_or_update_deck_legacy (line 44) | fn add_or_update_deck_legacy( method deck_tree (line 61) | fn deck_tree( method deck_tree_legacy (line 73) | fn deck_tree_legacy(&mut self) -> error::Result { method get_all_decks_legacy (line 80) | fn get_all_decks_legacy(&mut self) -> error::Result { method get_deck_id_by_name (line 87) | fn get_deck_id_by_name( method get_deck (line 97) | fn get_deck( method update_deck (line 105) | fn update_deck( method update_deck_legacy (line 113) | fn update_deck_legacy( method get_deck_legacy (line 122) | fn get_deck_legacy( method get_deck_names (line 134) | fn get_deck_names( method get_deck_and_child_names (line 147) | fn get_deck_and_child_names( method new_deck_legacy (line 154) | fn new_deck_legacy(&mut self, input: generic::Bool) -> error::Result error::Result error::Result { method from (line 237) | fn from(did: anki_proto::decks::DeckId) -> Self { function from (line 243) | fn from(did: DeckId) -> Self { function from (line 249) | fn from(deck: FilteredDeckForUpdate) -> Self { method from (line 260) | fn from(deck: anki_proto::decks::FilteredDeckForUpdate) -> Self { function from (line 271) | fn from(d: Deck) -> Self { type Error (line 284) | type Error = AnkiError; method try_from (line 286) | fn try_from(d: anki_proto::decks::Deck) -> error::Result DeckKind { function kind_from_inline (line 305) | fn kind_from_inline(k: DeckKind) -> anki_proto::decks::deck::Kind { function deck_name_to_proto (line 312) | fn deck_name_to_proto((id, name): (DeckId, String)) -> anki_proto::decks... function deck_names_to_proto (line 316) | fn deck_names_to_proto(names: Vec<(DeckId, String)>) -> anki_proto::deck... FILE: rslib/src/decks/stats.rs method reset_stats_if_day_changed (line 7) | pub(super) fn reset_stats_if_day_changed(&mut self, today: u32) { method update_deck_stats (line 22) | pub(crate) fn update_deck_stats( method extend_limits (line 48) | pub(crate) fn extend_limits( method update_deck_stats_single (line 74) | fn update_deck_stats_single( FILE: rslib/src/decks/tree.rs function deck_names_to_tree (line 21) | fn deck_names_to_tree(names: impl Iterator) -> ... function add_child_nodes (line 30) | fn add_child_nodes( function add_collapsed_and_filtered (line 68) | fn add_collapsed_and_filtered( function add_counts (line 86) | fn add_counts(node: &mut DeckTreeNode, counts: &HashMap Self { method add_assign (line 130) | fn add_assign(&mut self, rhs: Self) { function sum_counts_and_apply_limits_v3 (line 142) | fn sum_counts_and_apply_limits_v3( function hide_default_deck (line 182) | fn hide_default_deck(node: &mut DeckTreeNode) { function get_deck_in_tree (line 198) | pub fn get_deck_in_tree(tree: DeckTreeNode, deck_id: DeckId) -> Option( type LegacyDueCounts (line 223) | pub(crate) struct LegacyDueCounts { method from (line 233) | fn from(n: DeckTreeNode) -> Self { method deck_tree (line 252) | pub fn deck_tree(&mut self, timestamp: Option) -> Result<... method current_deck_tree (line 292) | pub fn current_deck_tree(&mut self) -> Result> { method set_deck_collapsed (line 298) | pub fn set_deck_collapsed( method legacy_deck_tree (line 320) | pub(crate) fn legacy_deck_tree(&mut self) -> Result { method add_missing_deck_names (line 325) | pub(crate) fn add_missing_deck_names(&mut self, names: &[(DeckId, String... function wellformed (line 350) | fn wellformed() -> Result<()> { function malformed (line 374) | fn malformed() -> Result<()> { function counts (line 391) | fn counts() -> Result<()> { function nested_counts_v3 (line 431) | fn nested_counts_v3() -> Result<()> { FILE: rslib/src/decks/undo.rs type UndoableDeckChange (line 8) | pub(crate) enum UndoableDeckChange { method undo_deck_change (line 17) | pub(crate) fn undo_deck_change(&mut self, change: UndoableDeckChange) ->... method remove_deck_and_add_grave_undoable (line 33) | pub(crate) fn remove_deck_and_add_grave_undoable( method add_deck_undoable (line 47) | pub(super) fn add_deck_undoable(&mut self, deck: &mut Deck) -> Result<()... method add_or_update_deck_with_existing_id_undoable (line 53) | pub(super) fn add_or_update_deck_with_existing_id_undoable( method update_single_deck_undoable (line 66) | pub(super) fn update_single_deck_undoable( method restore_deleted_deck (line 76) | fn restore_deleted_deck(&mut self, deck: Deck) -> Result<()> { method remove_deck_undoable (line 82) | fn remove_deck_undoable(&mut self, deck: Deck) -> Result<()> { method add_deck_grave_undoable (line 89) | fn add_deck_grave_undoable(&mut self, did: DeckId, usn: Usn) -> Result<(... method remove_deck_grave (line 94) | fn remove_deck_grave(&mut self, did: DeckId, usn: Usn) -> Result<()> { FILE: rslib/src/error/db.rs type DbError (line 15) | pub struct DbError { method message (line 99) | pub fn message(&self, _tr: &I18n) -> String { type DbErrorKind (line 21) | pub enum DbErrorKind { method db_error (line 32) | pub(crate) fn db_error(info: impl Into, kind: DbErrorKind) -> Se... method from (line 43) | fn from(err: Error) -> Self { method from (line 78) | fn from(err: FromSqlError) -> Self { FILE: rslib/src/error/filtered.rs type FilteredDeckError (line 8) | pub enum FilteredDeckError { method message (line 16) | pub fn message(&self, tr: &I18n) -> String { type CustomStudyError (line 30) | pub enum CustomStudyError { method message (line 36) | pub fn message(&self, tr: &I18n) -> String { FILE: rslib/src/error/invalid_input.rs type InvalidInputError (line 15) | pub struct InvalidInputError { method message (line 23) | pub fn message(&self) -> String { method context (line 27) | pub fn context(&self) -> String { method eq (line 37) | fn eq(&self, other: &Self) -> bool { type OrInvalid (line 46) | pub trait OrInvalid { method or_invalid (line 48) | fn or_invalid(self, message: impl Into) -> Result; type Value (line 52) | type Value = T; method or_invalid (line 54) | fn or_invalid(self, message: impl Into) -> Result { type Value (line 61) | type Value = T; method or_invalid (line 63) | fn or_invalid(self, message: impl Into) -> Result { FILE: rslib/src/error/mod.rs type Result (line 35) | pub type Result = std::result::Result; type AnkiError (line 38) | pub enum AnkiError { method message (line 130) | pub fn message(&self, tr: &I18n) -> String { method help_page (line 195) | pub fn help_page(&self) -> Option { method context (line 210) | pub fn context(&self) -> String { method backtrace (line 218) | pub fn backtrace(&self) -> String { method from (line 252) | fn from(err: serde_json::Error) -> Self { method from (line 260) | fn from(err: prost::EncodeError) -> Self { method from (line 268) | fn from(err: prost::DecodeError) -> Self { method from (line 276) | fn from(e: tempfile::PathPersistError) -> Self { method from (line 282) | fn from(e: tempfile::PersistError) -> Self { method from (line 288) | fn from(err: regex::Error) -> Self { method from (line 298) | fn from(source: std::io::Error) -> Self { type TemplateError (line 237) | pub enum TemplateError { type CardTypeError (line 310) | pub struct CardTypeError { type CardTypeErrorDetails (line 318) | pub enum CardTypeErrorDetails { FILE: rslib/src/error/network.rs type NetworkError (line 14) | pub struct NetworkError { method message (line 200) | pub fn message(&self, tr: &I18n) -> String { type NetworkErrorKind (line 20) | pub enum NetworkErrorKind { type SyncError (line 29) | pub struct SyncError { method message (line 179) | pub fn message(&self, tr: &I18n) -> String { type SyncErrorKind (line 35) | pub enum SyncErrorKind { method sync_error (line 54) | pub(crate) fn sync_error(info: impl Into, kind: SyncErrorKind) -... method server_message (line 63) | pub(crate) fn server_message>(msg: S) -> AnkiError { method from (line 69) | fn from(err: &reqwest::Error) -> Self { method from (line 91) | fn from(err: reqwest::Error) -> Self { function error_for_status_code (line 96) | fn error_for_status_code(info: String, code: StatusCode) -> AnkiError { function guess_reqwest_error (line 146) | fn guess_reqwest_error(mut info: String) -> AnkiError { method from (line 173) | fn from(err: zip::result::ZipError) -> Self { method from (line 215) | fn from(err: HttpError) -> Self { FILE: rslib/src/error/not_found.rs type NotFoundError (line 18) | pub struct NotFoundError { method message (line 25) | pub fn message(&self, tr: &I18n) -> String { method context (line 34) | pub fn context(&self) -> String { method eq (line 40) | fn eq(&self, other: &Self) -> bool { type OrNotFound (line 48) | pub trait OrNotFound { method or_not_found (line 50) | fn or_not_found(self, identifier: impl fmt::Display) -> Result Result() -> String { function test_unqualified_lowercase_type_name (line 78) | fn test_unqualified_lowercase_type_name() { FILE: rslib/src/error/search.rs type ParseError (line 14) | pub enum ParseError<'a> { type SearchErrorKind (line 20) | pub enum SearchErrorKind { method message (line 82) | pub fn message(&self, tr: &I18n) -> String { method from (line 43) | fn from(err: ParseError) -> Self { method from (line 54) | fn from(err: nom::Err>) -> Self { function from_error_kind (line 66) | fn from_error_kind(input: &'a str, kind: NomErrorKind) -> Self { function append (line 70) | fn append(_: &str, _: NomErrorKind, other: Self) -> Self { method from (line 76) | fn from(_err: ParseIntError) -> Self { FILE: rslib/src/error/windows.rs type WindowsError (line 10) | pub struct WindowsError { type WindowsErrorDetails (line 16) | pub enum WindowsErrorDetails { method from (line 24) | fn from(source: windows::core::Error) -> Self { FILE: rslib/src/findreplace.rs type FindReplaceContext (line 15) | pub struct FindReplaceContext { method new (line 29) | pub fn new( method replace_text (line 43) | fn replace_text<'a>(&self, text: &'a str) -> Cow<'a, str> { type FieldForNotetype (line 22) | enum FieldForNotetype { method find_and_replace (line 49) | pub fn find_and_replace( method find_and_replace_inner (line 68) | fn find_and_replace_inner(&mut self, ctx: FindReplaceContext) -> Result<... function findreplace (line 120) | fn findreplace() -> Result<()> { FILE: rslib/src/i18n/service.rs method translate_string (line 21) | fn translate_string( method format_timespan (line 28) | fn format_timespan(&mut self, input: FormatTimespanRequest) -> error::Re... method i18n_resources (line 32) | fn i18n_resources(&mut self, input: I18nResourcesRequest) -> error::Resu... function translate_string (line 37) | pub(crate) fn translate_string( function format_timespan (line 51) | pub(crate) fn format_timespan( function i18n_resources (line 63) | pub(crate) fn i18n_resources( function build_fluent_args (line 72) | fn build_fluent_args( function translate_arg_to_fluent_val (line 82) | fn translate_arg_to_fluent_val(arg: &anki_proto::i18n::TranslateArgValue... FILE: rslib/src/image_occlusion/imagedata.rs method get_image_for_occlusion (line 23) | pub fn get_image_for_occlusion(&mut self, path: &str) -> Result Option { method is_image_file (line 162) | fn is_image_file(&mut self, path: &PathBuf) -> Result { method get_io_field_indexes (line 184) | pub(crate) fn get_io_field_indexes(&self) -> Result Result Result<... FILE: rslib/src/image_occlusion/imageocclusion.rs function unescape (line 18) | fn unescape(text: &str) -> String { function parse_image_cloze (line 22) | pub fn parse_image_cloze(text: &str) -> Option { function get_image_cloze_data (line 55) | pub fn get_image_cloze_data(text: &str) -> String { function is_empty_or_zero (line 141) | fn is_empty_or_zero(text: &str) -> bool { function test_get_image_cloze_data (line 150) | fn test_get_image_cloze_data() { FILE: rslib/src/image_occlusion/notetype.rs method add_image_occlusion_notetype (line 15) | pub fn add_image_occlusion_notetype(&mut self) -> Result> { method add_image_occlusion_notetype_inner (line 21) | pub fn add_image_occlusion_notetype_inner(&mut self) -> Result<()> { method get_io_notetype_by_id (line 38) | pub(crate) fn get_io_notetype_by_id( method get_first_io_notetype (line 46) | pub(crate) fn get_first_io_notetype(&mut self) -> Result Notetype { function io_notetype_if_valid (line 123) | fn io_notetype_if_valid(nt: Arc) -> Result> { FILE: rslib/src/image_occlusion/service.rs method get_image_for_occlusion (line 17) | fn get_image_for_occlusion( method add_image_occlusion_note (line 24) | fn add_image_occlusion_note( method get_image_occlusion_note (line 31) | fn get_image_occlusion_note( method update_image_occlusion_note (line 38) | fn update_image_occlusion_note( method add_image_occlusion_notetype (line 52) | fn add_image_occlusion_notetype(&mut self) -> Result bool { method card_and_its_deck_are_normal (line 154) | fn card_and_its_deck_are_normal(&self, card: &Card) -> bool { method original_deck_exists (line 164) | fn original_deck_exists(&self, card: &Card) -> bool { method reset_cards (line 168) | fn reset_cards(&mut self, col: &Collection) { method restore_cards_from_filtered_decks (line 182) | fn restore_cards_from_filtered_decks(&mut self) { method check_ids (line 192) | fn check_ids(&self) -> Result<()> { function gather_media_names_from_note (line 209) | fn gather_media_names_from_note( function svg_getter (line 225) | fn svg_getter(notetypes: &[Notetype]) -> impl Fn(NotetypeId) -> bool { method gather_notes (line 234) | fn gather_notes( method gather_cards (line 246) | fn gather_cards(&mut self) -> Result<(Vec, CardTableGuard<'_>)> { method gather_decks (line 259) | fn gather_decks(&mut self, with_original: bool, skip_default: bool) -> R... method get_parent_decks (line 273) | fn get_parent_decks(&mut self, decks: &[Deck]) -> Result> { method add_parent_decks (line 285) | fn add_parent_decks( method gather_notetypes (line 302) | fn gather_notetypes(&mut self) -> Result> { method gather_revlog (line 306) | fn gather_revlog(&mut self) -> Result> { method gather_deck_configs (line 310) | fn gather_deck_configs(&mut self, decks: &[Deck]) -> Result Result<()> { method insert_decks (line 20) | fn insert_decks(&self, decks: &[Deck]) -> Result<()> { method insert_notes (line 27) | fn insert_notes(&self, notes: &[Note]) -> Result<()> { method insert_cards (line 34) | fn insert_cards(&self, cards: &[Card]) -> Result<()> { method insert_notetypes (line 41) | fn insert_notetypes(&self, notetypes: &[Notetype]) -> Result<()> { method insert_revlog (line 49) | fn insert_revlog(&self, revlog: &[RevlogEntry]) -> Result<()> { method insert_deck_configs (line 56) | fn insert_deck_configs(&self, configs: &[DeckConfig]) -> Result<()> { FILE: rslib/src/import_export/mod.rs type ImportProgress (line 21) | pub enum ImportProgress { type ExportProgress (line 32) | pub enum ExportProgress { method into_log_note (line 42) | pub(crate) fn into_log_note(self) -> LogNote { type ImportError (line 62) | pub enum ImportError { method message (line 76) | pub(crate) fn message(&self, tr: &I18n) -> String { FILE: rslib/src/import_export/package/apkg/export.rs method export_apkg (line 25) | pub fn export_apkg( method export_into_collection_file (line 68) | fn export_into_collection_file( method new_minimal (line 98) | fn new_minimal(path: impl Into) -> Result { FILE: rslib/src/import_export/package/apkg/import/cards.rs type CardAsNidAndOrd (line 16) | type CardAsNidAndOrd = (NoteId, u16); type CardContext (line 18) | struct CardContext<'a> { function new (line 38) | fn new<'a: 'c>( method collection_delta (line 69) | fn collection_delta(&mut self, days_elapsed: u32) -> Result { function import_cards_and_revlog (line 75) | pub(super) fn import_cards_and_revlog( function import_cards (line 100) | fn import_cards(&mut self, mut cards: Vec) -> Result<()> { function import_revlog (line 110) | fn import_revlog(&mut self, revlog: Vec) -> Result<()> { function map_to_imported_note (line 121) | fn map_to_imported_note(&self, card: &mut Card) -> bool { function card_ordinal_already_exists (line 130) | fn card_ordinal_already_exists(&self, card: &Card) -> bool { function add_card (line 135) | fn add_card(&mut self, card: &mut Card) -> Result<()> { function uniquify_card_id (line 149) | fn uniquify_card_id(&mut self, card: &mut Card) -> CardId { function remap_deck_ids (line 157) | fn remap_deck_ids(&self, card: &mut Card) { function remap_template_index (line 166) | fn remap_template_index(&self, card: &mut Card) { method shift_collection_relative_dates (line 180) | fn shift_collection_relative_dates(&mut self, delta: i32) { method due_in_days_since_collection_creation (line 189) | fn due_in_days_since_collection_creation(&self) -> bool { method original_due_in_days_since_collection_creation (line 194) | fn original_due_in_days_since_collection_creation(&self) -> bool { FILE: rslib/src/import_export/package/apkg/import/decks.rs type DeckContext (line 12) | struct DeckContext<'d> { function new (line 22) | fn new<'a: 'd>(target_col: &'a mut Collection, usn: Usn, source_col_toda... function import_decks_and_configs (line 35) | pub(super) fn import_decks_and_configs(&mut self) -> Result) -> Resul... function import_decks (line 52) | fn import_decks(&mut self, mut decks: Vec) -> Result<()> { function import_deck (line 63) | fn import_deck(&mut self, deck: &mut Deck) -> Result<()> { function maybe_reparent (line 75) | fn maybe_reparent(&self, deck: &mut Deck) { function reparented_name (line 81) | fn reparented_name(&self, name: &str) -> Option { function maybe_correct_day_limits (line 90) | fn maybe_correct_day_limits(&mut self, deck: &mut Deck) -> Result<()> { function get_deck_by_name (line 113) | fn get_deck_by_name(&mut self, deck: &Deck) -> Result> { function uniquify_name (line 119) | fn uniquify_name(&mut self, deck: &mut Deck) { function add_deck (line 126) | fn add_deck(&mut self, deck: &mut Deck) -> Result<()> { function update_deck (line 134) | fn update_deck(&mut self, deck: &Deck, original: Deck) -> Result<()> { function ensure_valid_first_existing_parent (line 148) | fn ensure_valid_first_existing_parent(&mut self, deck: &mut Deck) -> Res... function add_unique_default_deck (line 161) | fn add_unique_default_deck(&mut self, name: &str) -> Result<()> { method uniquify_name (line 170) | fn uniquify_name(&mut self, suffix: &str) { method level (line 175) | fn level(&self) -> usize { method is_same_kind (line 179) | fn is_same_kind(&self, other: &Self) -> bool { function update_normal_with_other (line 184) | fn update_normal_with_other(normal: &mut NormalDeck, other: &NormalDeck) { function parents (line 205) | fn parents() { function day_limits_should_carry_over_correctly (line 242) | fn day_limits_should_carry_over_correctly() { FILE: rslib/src/import_export/package/apkg/import/media.rs type MediaUseMap (line 26) | pub(super) struct MediaUseMap { method add_checked (line 106) | pub(super) fn add_checked(&mut self, filename: impl Into, entr... method use_entry (line 110) | pub(super) fn use_entry(&mut self, filename: &str) -> Option<&SafeMedi... method used_entries (line 117) | pub(super) fn used_entries(&mut self) -> impl Iterator Result { function copy_media (line 56) | pub(super) fn copy_media(&mut self, media_map: &mut MediaUseMap) -> Resu... function prepare_media (line 76) | fn prepare_media( method ensure_sha1_set (line 126) | fn ensure_sha1_set(&mut self, archive: &mut ZipArchive) -> Result<... method uniquify_name (line 138) | fn uniquify_name(&mut self) -> String { method is_static (line 143) | fn is_static(&self) -> bool { FILE: rslib/src/import_export/package/apkg/import/mod.rs type TemplateMap (line 36) | type TemplateMap = std::collections::HashMap; type Context (line 38) | struct Context<'a> { method import_apkg (line 52) | pub fn import_apkg( function new (line 74) | fn new( function import (line 105) | fn import(&mut self) -> Result { method gather_from_archive (line 127) | fn gather_from_archive( function collection_to_tempfile (line 148) | fn collection_to_tempfile(meta: &Meta, archive: &mut ZipArchive) -... method maybe_upgrade_scheduler (line 161) | fn maybe_upgrade_scheduler(&mut self) -> Result<()> { method scheduling_included (line 168) | fn scheduling_included(&mut self) -> Result { FILE: rslib/src/import_export/package/apkg/import/notes.rs type NoteContext (line 25) | struct NoteContext<'a> { type NoteImports (line 43) | pub(super) struct NoteImports { method log_new (line 52) | fn log_new(&mut self, note: Note, source_id: NoteId) { method log_updated (line 57) | fn log_updated(&mut self, note: Note, source_id: NoteId) { method log_duplicate (line 62) | fn log_duplicate(&mut self, mut note: Note, target_id: NoteId) { method log_conflicting (line 69) | fn log_conflicting(&mut self, note: Note) { type NoteMeta (line 75) | pub(crate) struct NoteMeta { method new (line 82) | pub(crate) fn new(id: NoteId, mtime: TimestampSecs, notetype_id: Notet... function import_notes_and_notetypes (line 92) | pub(super) fn import_notes_and_notetypes( function new (line 111) | fn new<'a: 'n>( function import_notetypes (line 139) | fn import_notetypes(&mut self, mut notetypes: Vec) -> Result<(... function get_target_notetype (line 156) | fn get_target_notetype(&self, ntid: NotetypeId) -> Option<&Arc> { function update_or_duplicate_notetype (line 160) | fn update_or_duplicate_notetype( function get_previously_duplicated_notetype (line 185) | fn get_previously_duplicated_notetype(&self, original: &Notetype) -> Opt... function should_update_notetype (line 196) | fn should_update_notetype(&self, existing: &Notetype, incoming: &Notetyp... function add_notetype (line 204) | fn add_notetype(&mut self, notetype: &mut Notetype) -> Result<()> { function update_notetype (line 213) | fn update_notetype( function update_or_merge_notetype (line 229) | fn update_or_merge_notetype( function get_sibling_notetypes (line 258) | fn get_sibling_notetypes(&mut self, original_id: NotetypeId) -> Vec Result { function record_remapped_ords (line 302) | fn record_remapped_ords(&mut self, incoming: &Notetype) { function add_notetype_with_remapped_id (line 324) | fn add_notetype_with_remapped_id(&mut self, notetype: &mut Notetype) -> ... function import_notes (line 333) | fn import_notes( function resolve_notetype_conflicts (line 357) | fn resolve_notetype_conflicts( function remap_notetype_and_fields (line 407) | fn remap_notetype_and_fields(&mut self, note: &mut Note) { function maybe_update_existing_note (line 416) | fn maybe_update_existing_note(&mut self, existing: NoteMeta, incoming: N... function add_note (line 430) | fn add_note(&mut self, mut note: Note) -> Result<()> { function uniquify_note_id (line 445) | fn uniquify_note_id(&mut self, note: &mut Note) -> NoteId { function get_expected_notetype (line 453) | fn get_expected_notetype(&mut self, ntid: NotetypeId) -> Result Result { function update_note (line 461) | fn update_note(&mut self, mut note: Note, target_id: NoteId) -> Result<(... function munge_media (line 486) | fn munge_media(&mut self, note: &mut Note) -> Result<()> { function replace_media_refs (line 495) | fn replace_media_refs(&mut self, field: &mut str) -> Option { function delete_merged_unused_notetypes (line 512) | fn delete_merged_unused_notetypes(&mut self) -> Result<()> { function should_update (line 523) | fn should_update( function combine_field_ords_maps (line 535) | fn combine_field_ords_maps( function combine_template_ords_maps (line 545) | fn combine_template_ords_maps(old_map: &mut HashMap, new: &Not... function notetype_conflicts (line 557) | fn notetype_conflicts( method field_ords (line 576) | pub(crate) fn field_ords(&self) -> impl Iterator> + '_ { method template_ords (line 580) | pub(crate) fn template_ords(&self) -> impl Iterator> ... method field_ords_vec (line 584) | fn field_ords_vec(&self) -> Vec> { method template_ords_vec (line 590) | fn template_ords_vec(&self) -> Vec> { method equal_schema (line 596) | fn equal_schema(&self, other: &Self) -> bool { method copy_ords (line 611) | fn copy_ords(&mut self, other: &Self) { type ImportBuilder (line 634) | struct ImportBuilder { method new (line 643) | fn new() -> Self { method note (line 647) | fn note(mut self, note: Note) -> Self { method notetype (line 652) | fn notetype(mut self, notetype: Notetype) -> Self { method remap_notetype (line 657) | fn remap_notetype(mut self, from: NotetypeId, to: NotetypeId) -> Self { method merge_notetypes (line 662) | fn merge_notetypes(mut self, yes: bool) -> Self { method import (line 667) | fn import(self, col: &mut Collection) -> NoteContext<'_> { method note_id_for_guid (line 699) | fn note_id_for_guid(&self, guid: &str) -> NoteId { method field_names (line 708) | pub(crate) fn field_names(&self) -> impl Iterator { method template_names (line 712) | pub(crate) fn template_names(&self) -> impl Iterator { function should_add_note_with_new_id_if_guid_is_unique_and_id_is_not (line 718) | fn should_add_note_with_new_id_if_guid_is_unique_and_id_is_not() { function should_skip_note_if_guid_already_exists_with_newer_mtime (line 730) | fn should_skip_note_if_guid_already_exists_with_newer_mtime() { function should_update_note_if_guid_already_exists_with_different_id (line 742) | fn should_update_note_if_guid_already_exists_with_different_id() { function should_ignore_note_if_guid_already_exists_with_different_notetype (line 755) | fn should_ignore_note_if_guid_already_exists_with_different_notetype() { function should_add_note_with_remapped_notetype_if_in_notetype_map (line 768) | fn should_add_note_with_remapped_notetype_if_in_notetype_map() { function should_ignore_note_if_guid_already_exists_and_notetype_is_remapped (line 783) | fn should_ignore_note_if_guid_already_exists_and_notetype_is_remapped() { function should_add_note_with_remapped_media_reference_in_field_if_in_media_map (line 799) | fn should_add_note_with_remapped_media_reference_in_field_if_in_media_ma... function should_import_new_notetype (line 814) | fn should_import_new_notetype() { function should_update_existing_notetype_with_older_mtime_and_matching_schema (line 823) | fn should_update_existing_notetype_with_older_mtime_and_matching_schema() { function should_not_update_existing_notetype_with_newer_mtime_and_matching_schema (line 833) | fn should_not_update_existing_notetype_with_newer_mtime_and_matching_sch... function should_rename_field_with_matching_id_without_schema_change (line 843) | fn should_rename_field_with_matching_id_without_schema_change() { function should_add_remapped_notetype_if_schema_has_changed_and_reuse_it_subsequently (line 853) | fn should_add_remapped_notetype_if_schema_has_changed_and_reuse_it_subse... function should_merge_notetype_fields (line 880) | fn should_merge_notetype_fields() { function should_merge_notetype_templates (line 908) | fn should_merge_notetype_templates() { function should_merge_notetype_duplicates_from_previous_imports (line 936) | fn should_merge_notetype_duplicates_from_previous_imports() { function reimport_with_merge_enabled_should_handle_duplicates (line 975) | fn reimport_with_merge_enabled_should_handle_duplicates() -> Result<()> { function should_merge_conflicting_notetype_even_without_original_id (line 1034) | fn should_merge_conflicting_notetype_even_without_original_id() { function should_combine_field_ords_maps (line 1082) | fn should_combine_field_ords_maps() { FILE: rslib/src/import_export/package/apkg/tests.rs constant SAMPLE_JPG (line 20) | const SAMPLE_JPG: &str = "sample.jpg"; constant SAMPLE_MP3 (line 21) | const SAMPLE_MP3: &str = "sample.mp3"; constant SAMPLE_JS (line 22) | const SAMPLE_JS: &str = "_sample.js"; constant JPG_DATA (line 23) | const JPG_DATA: &[u8] = b"1"; constant MP3_DATA (line 24) | const MP3_DATA: &[u8] = b"2"; constant JS_DATA (line 25) | const JS_DATA: &[u8] = b"3"; constant EXISTING_MP3_DATA (line 26) | const EXISTING_MP3_DATA: &[u8] = b"4"; function roundtrip (line 29) | fn roundtrip() { function roundtrip_inner (line 34) | fn roundtrip_inner(legacy: bool) { method add_sample_decks (line 71) | fn add_sample_decks(&mut self) -> (Deck, Deck) { method add_named_deck (line 79) | fn add_named_deck(&mut self, name: &str) -> Deck { method add_sample_notetype (line 86) | fn add_sample_notetype(&mut self) -> Notetype { method add_sample_note (line 98) | fn add_sample_note( method add_sample_media (line 119) | fn add_sample_media(&self) { method add_conflicting_media (line 127) | fn add_conflicting_media(&mut self) { method assert_decks (line 132) | fn assert_decks(&mut self) { method assert_notetype (line 145) | fn assert_notetype(&mut self, notetype: &Notetype) { method assert_note_and_media (line 149) | fn assert_note_and_media(&mut self, note: &Note) { method assert_empty (line 172) | fn assert_empty(&self) { FILE: rslib/src/import_export/package/colpkg/export.rs constant MULTITHREAD_MIN_BYTES (line 43) | const MULTITHREAD_MIN_BYTES: usize = 10 * 1024 * 1024; method export_colpkg (line 46) | pub fn export_colpkg( function export_collection_file (line 82) | fn export_collection_file( function export_colpkg_from_data (line 107) | pub(crate) fn export_colpkg_from_data( function export_collection (line 125) | pub(crate) fn export_collection( function file_options_stored (line 149) | fn file_options_stored() -> FileOptions<'static, ()> { function file_options_default (line 153) | fn file_options_default() -> FileOptions<'static, ()> { function write_collection (line 157) | fn write_collection( function write_dummy_collection (line 173) | fn write_dummy_collection(zip: &mut ZipWriter, tr: &I18n) -> Resul... function create_dummy_collection_file (line 184) | fn create_dummy_collection_file(tr: &I18n) -> Result { method add_dummy_note (line 198) | fn add_dummy_note(&mut self, tr: &I18n) -> Result<()> { function zstd_copy (line 208) | fn zstd_copy(reader: &mut impl Read, writer: &mut impl Write, size: usiz... function write_media (line 218) | fn write_media( function write_media_map (line 230) | fn write_media_map( function write_media_files (line 261) | fn write_media_files( type MaybeEncodedWriter (line 283) | pub(crate) enum MaybeEncodedWriter<'a, W: Write> { function new (line 289) | pub fn new(writer: &'a mut W, encoder: Option>) -> S... function write (line 297) | pub fn write(&mut self, buf: &[u8]) -> Result<()> { function finish (line 305) | pub fn finish(self) -> Result>> { function media_file_writing (line 322) | fn media_file_writing() { FILE: rslib/src/import_export/package/colpkg/import.rs function import_colpkg (line 31) | pub fn import_colpkg( function check_collection_and_mod_schema (line 63) | fn check_collection_and_mod_schema(col_path: &Path) -> Result<()> { function restore_media (line 81) | fn restore_media( function maybe_restore_media_file (line 106) | fn maybe_restore_media_file( function restore_media_file (line 127) | fn restore_media_file(meta: &Meta, zip_file: &mut ZipFile, path: &... function copy_collection (line 138) | fn copy_collection( type GetChecksumFn (line 158) | type GetChecksumFn<'a> = dyn FnMut(&str) -> Result> + 'a; type MediaComparer (line 160) | struct MediaComparer<'a>(Option>>); function new (line 163) | fn new( function entry_is_equal_to (line 177) | fn entry_is_equal_to(&mut self, entry: &SafeMediaEntry, other_path: &Pat... FILE: rslib/src/import_export/package/colpkg/tests.rs function collection_with_media (line 17) | fn collection_with_media(dir: &Path, name: &str) -> Result { function roundtrip (line 35) | fn roundtrip() -> Result<()> { function normalization_check_on_export (line 82) | fn normalization_check_on_export() -> Result<()> { FILE: rslib/src/import_export/package/media.rs type SafeMediaEntry (line 43) | pub(super) struct SafeMediaEntry { method from_entry (line 64) | pub(super) fn from_entry(enumerated: (usize, MediaEntry)) -> Result Result { method file_path (line 95) | pub(super) fn file_path(&self, media_folder: &Path) -> PathBuf { method fetch_file (line 99) | pub(super) fn fetch_file<'a>( method has_checksum_equal_to (line 109) | pub(super) fn has_checksum_equal_to( method has_size_equal_to (line 117) | pub(super) fn has_size_equal_to(&self, other_path: &Path) -> bool { method copy_and_ensure_sha1_set (line 123) | pub(super) fn copy_and_ensure_sha1_set( function new_media_entry (line 50) | pub(super) fn new_media_entry( function extract_media_entries (line 144) | pub(super) fn extract_media_entries( function safe_normalized_file_name (line 157) | pub(super) fn safe_normalized_file_name(name: &str) -> Result, meta: &Meta) -> R... function decode_safe_entries (line 185) | pub(super) fn decode_safe_entries(buf: &[u8]) -> Result std::result::Result { type MediaIterError (line 201) | pub enum MediaIterError { method from (line 238) | fn from(err: MediaIterError) -> Self { type MediaIter (line 257) | pub struct MediaIter(pub Box(iter: I) -> Self method from_folder (line 269) | pub fn from_folder(path: &Path) -> Result { method from_file_list (line 282) | pub fn from_file_list( method empty (line 294) | pub fn empty() -> Self { type MediaCopier (line 301) | pub(crate) struct MediaCopier { method new (line 308) | pub(crate) fn new(encoding: bool) -> Self { method encoder (line 316) | fn encoder(&mut self) -> Option> { method copy (line 325) | pub(crate) fn copy( function normalization (line 357) | fn normalization() { FILE: rslib/src/import_export/package/meta.rs type VersionExt (line 18) | pub(super) trait VersionExt { method collection_filename (line 19) | fn collection_filename(&self) -> &'static str; method schema_version (line 20) | fn schema_version(&self) -> SchemaVersion; method collection_filename (line 24) | fn collection_filename(&self) -> &'static str { method schema_version (line 35) | fn schema_version(&self) -> SchemaVersion { type MetaExt (line 44) | pub(in crate::import_export) trait MetaExt: Sized { method new (line 45) | fn new() -> Self; method new_legacy (line 46) | fn new_legacy() -> Self; method from_archive (line 47) | fn from_archive(archive: &mut ZipArchive) -> Result; method collection_filename (line 48) | fn collection_filename(&self) -> &'static str; method schema_version (line 49) | fn schema_version(&self) -> SchemaVersion; method zstd_compressed (line 50) | fn zstd_compressed(&self) -> bool; method media_list_is_hashmap (line 51) | fn media_list_is_hashmap(&self) -> bool; method is_legacy (line 52) | fn is_legacy(&self) -> bool; method copy (line 53) | fn copy(&self, reader: &mut impl Read, writer: &mut impl io::Write) ->... method new (line 57) | fn new() -> Self { method new_legacy (line 63) | fn new_legacy() -> Self { method from_archive (line 71) | fn from_archive(archive: &mut ZipArchive) -> Result { method collection_filename (line 97) | fn collection_filename(&self) -> &'static str { method schema_version (line 103) | fn schema_version(&self) -> SchemaVersion { method zstd_compressed (line 107) | fn zstd_compressed(&self) -> bool { method media_list_is_hashmap (line 111) | fn media_list_is_hashmap(&self) -> bool { method is_legacy (line 115) | fn is_legacy(&self) -> bool { method copy (line 119) | fn copy(&self, reader: &mut impl Read, writer: &mut impl io::Write) ->... FILE: rslib/src/import_export/service.rs method import_anki_package (line 11) | fn import_anki_package( method get_import_anki_package_presets (line 19) | fn get_import_anki_package_presets( method export_anki_package (line 31) | fn export_anki_package( method get_csv_metadata (line 44) | fn get_csv_metadata( method import_csv (line 59) | fn import_csv( method export_note_csv (line 67) | fn export_note_csv( method export_card_csv (line 74) | fn export_card_csv( method import_json_file (line 86) | fn import_json_file( method import_json_string (line 93) | fn import_json_string( function from (line 102) | fn from(output: OpOutput) -> Self { method from (line 111) | fn from(export_limit: ExportLimit) -> Self { FILE: rslib/src/import_export/text/csv/export.rs constant DELIMITER (line 26) | const DELIMITER: Delimiter = Delimiter::Tab; method export_card_csv (line 29) | pub fn export_card_csv( method export_note_csv (line 52) | pub fn export_note_csv(&mut self, mut request: ExportNoteCsvRequest) -> ... method card_record (line 71) | fn card_record(&mut self, card: CardId, with_html: bool) -> Result<[Stri... function file_writer_with_header (line 81) | fn file_writer_with_header(path: &str, with_html: bool) -> Result Result... function note_file_writer_with_header (line 96) | fn note_file_writer_with_header(path: &str, ctx: &NoteContext) -> Result... function write_note_file_header (line 105) | fn write_note_file_header(writer: &mut impl Write, ctx: &NoteContext) ->... function write_column_header (line 110) | fn write_column_header(ctx: &NoteContext, writer: &mut impl Write) -> Re... function rendered_nodes_to_record_field (line 124) | fn rendered_nodes_to_record_field( function rendered_nodes_to_str (line 140) | fn rendered_nodes_to_str(nodes: &[RenderedNode]) -> String { function field_to_record_field (line 150) | fn field_to_record_field(field: &str, with_html: bool) -> Cow<'_, str> { function strip_redundant_sections (line 158) | fn strip_redundant_sections(text: &str) -> Cow<'_, str> { function strip_answer_side_question (line 172) | fn strip_answer_side_question(text: &str) -> Cow<'_, str> { type NoteContext (line 178) | struct NoteContext { method new (line 192) | fn new(request: &ExportNoteCsvRequest, col: &mut Collection) -> Result... method guid_column (line 215) | fn guid_column(&self) -> Option { method notetype_column (line 219) | fn notetype_column(&self) -> Option { method deck_column (line 224) | fn deck_column(&self) -> Option { method tags_column (line 233) | fn tags_column(&self) -> Option { method record (line 244) | fn record<'c, 's: 'c, 'n: 'c>(&'s self, note: &'n Note) -> impl Iterat... method notetype_name (line 254) | fn notetype_name(&self, note: &Note) -> Option> { method deck_name (line 262) | fn deck_name(&self, note: &Note) -> Option> { method tags (line 271) | fn tags(&self, note: &Note) -> Option> { method note_fields (line 276) | fn note_fields<'n>(&self, note: &'n Note) -> impl Iterator Self { FILE: rslib/src/import_export/text/csv/import.rs method import_csv (line 27) | pub fn import_csv(&mut self, path: &str, metadata: CsvMetadata) -> Resul... method from (line 39) | fn from(metadata: CsvMetadata) -> Self { type CsvDeckExt (line 55) | trait CsvDeckExt { method name_or_id (line 56) | fn name_or_id(&self) -> NameOrId; method column (line 57) | fn column(&self) -> Option; method name_or_id (line 61) | fn name_or_id(&self) -> NameOrId { method column (line 69) | fn column(&self) -> Option { type CsvNotetypeExt (line 78) | trait CsvNotetypeExt { method name_or_id (line 79) | fn name_or_id(&self) -> NameOrId; method column (line 80) | fn column(&self) -> Option; method name_or_id (line 84) | fn name_or_id(&self) -> NameOrId { method column (line 91) | fn column(&self) -> Option { type FieldSourceColumns (line 100) | pub(super) type FieldSourceColumns = Vec>; type ColumnContext (line 103) | struct ColumnContext { method new (line 118) | fn new(metadata: &CsvMetadata) -> Result { method deserialize_csv (line 130) | fn deserialize_csv( method deserialize_csv_reader (line 139) | fn deserialize_csv_reader( method foreign_note_from_record (line 152) | fn foreign_note_from_record(&self, record: &csv::StringRecord) -> Fore... method gather_tags (line 163) | fn gather_tags(&self, record: &csv::StringRecord) -> Option Vec, record: &csv::StringRec... function name_or_id_from_record_column (line 196) | fn name_or_id_from_record_column(column: Option, record: &csv::St... function build_csv_reader (line 200) | pub(super) fn build_csv_reader( function stringify_fn (line 213) | fn stringify_fn(is_html: bool) -> fn(&str) -> String { function remove_tags_line_from_reader (line 223) | fn remove_tags_line_from_reader(reader: &mut (impl Read + Seek)) -> Resu... function should_allow_missing_columns (line 277) | fn should_allow_missing_columns() { function should_respect_custom_delimiter (line 283) | fn should_respect_custom_delimiter() { function should_ignore_first_line_starting_with_tags (line 294) | fn should_ignore_first_line_starting_with_tags() { function should_respect_column_remapping (line 304) | fn should_respect_column_remapping() { function should_ignore_lines_starting_with_number_sign (line 320) | fn should_ignore_lines_starting_with_number_sign() { function should_escape_html_entities_if_csv_is_html (line 330) | fn should_escape_html_entities_if_csv_is_html() { function should_parse_tag_column (line 338) | fn should_parse_tag_column() { function should_parse_deck_column (line 346) | fn should_parse_deck_column() { function should_parse_notetype_column (line 354) | fn should_parse_notetype_column() { function should_ignore_bom (line 366) | fn should_ignore_bom() { FILE: rslib/src/import_export/text/csv/metadata.rs constant PREVIEW_LENGTH (line 36) | const PREVIEW_LENGTH: usize = 5; constant PREVIEW_FIELD_LENGTH (line 38) | const PREVIEW_FIELD_LENGTH: usize = 80; method get_csv_metadata (line 41) | pub fn get_csv_metadata( method get_reader_metadata (line 59) | fn get_reader_metadata( method parse_meta_lines (line 81) | fn parse_meta_lines(&mut self, reader: impl Read, metadata: &mut CsvMeta... method parse_first_line (line 101) | fn parse_first_line(&mut self, line: &str, metadata: &mut CsvMetadata) -... method parse_line (line 112) | fn parse_line(&mut self, line: &str, metadata: &mut CsvMetadata) -> bool { method parse_meta_value (line 123) | fn parse_meta_value(&mut self, key: &str, value: &str, metadata: &mut Cs... method maybe_set_notetype_and_deck (line 216) | pub(crate) fn maybe_set_notetype_and_deck( method maybe_init_notetype_map (line 234) | fn maybe_init_notetype_map(&mut self, metadata: &mut CsvMetadata) -> Res... type CsvMetadataHelpers (line 260) | pub(super) trait CsvMetadataHelpers { method from_config (line 261) | fn from_config(col: &Collection) -> Self; method deck (line 262) | fn deck(&self) -> Result<&CsvDeck>; method notetype (line 263) | fn notetype(&self) -> Result<&CsvNotetype>; method field_source_columns (line 264) | fn field_source_columns(&self) -> Result; method meta_columns (line 265) | fn meta_columns(&self) -> HashSet; method from_config (line 270) | fn from_config(col: &Collection) -> Self { method deck (line 278) | fn deck(&self) -> Result<&CsvDeck> { method notetype (line 282) | fn notetype(&self) -> Result<&CsvNotetype> { method field_source_columns (line 286) | fn field_source_columns(&self) -> Result { method meta_columns (line 300) | fn meta_columns(&self) -> HashSet { type DupeResolutionExt (line 318) | pub(super) trait DupeResolutionExt: Sized { method from_config (line 319) | fn from_config(col: &Collection) -> Self; method from_text (line 320) | fn from_text(text: &str) -> Option; method from_config (line 324) | fn from_config(col: &Collection) -> Self { method from_text (line 328) | fn from_text(text: &str) -> Option { type MatchScopeExt (line 338) | pub(super) trait MatchScopeExt: Sized { method from_config (line 339) | fn from_config(col: &Collection) -> Self; method from_text (line 340) | fn from_text(text: &str) -> Option; method from_config (line 344) | fn from_config(col: &Collection) -> Self { method from_text (line 348) | fn from_text(text: &str) -> Option { function parse_columns (line 357) | fn parse_columns(line: &str, delimiter: Delimiter) -> Result> { function collect_preview_records (line 363) | fn collect_preview_records( function set_preview (line 376) | fn set_preview(metadata: &mut CsvMetadata, records: &[csv::StringRecord]... function build_preview_row (line 392) | fn build_preview_row( function collect_tags (line 415) | pub(super) fn collect_tags(txt: &str) -> Vec { function map_field_columns_by_index (line 422) | fn map_field_columns_by_index( function map_field_columns_by_name (line 439) | fn map_field_columns_by_name( function ensure_first_field_is_mapped (line 459) | fn ensure_first_field_is_mapped( function maybe_set_fallback_columns (line 474) | fn maybe_set_fallback_columns(metadata: &mut CsvMetadata) -> Result<()> { function maybe_set_fallback_is_html (line 482) | fn maybe_set_fallback_is_html( function maybe_set_fallback_delimiter (line 495) | fn maybe_set_fallback_delimiter( function maybe_set_tags_column (line 510) | fn maybe_set_tags_column(metadata: &mut CsvMetadata, meta_columns: &Hash... function delimiter_from_value (line 524) | fn delimiter_from_value(value: &str) -> Option { function delimiter_from_reader (line 531) | fn delimiter_from_reader(mut reader: impl Read) -> Result { function map_single_record (line 543) | fn map_single_record( function strip_line_ending (line 558) | fn strip_line_ending(line: &str) -> &str { type DelimeterExt (line 563) | pub(super) trait DelimeterExt { method byte (line 564) | fn byte(self) -> u8; method name (line 565) | fn name(self) -> &'static str; method byte (line 569) | fn byte(self) -> u8 { method name (line 580) | fn name(self) -> &'static str { function new_global_csv_notetype (line 592) | fn new_global_csv_notetype(id: NotetypeId) -> CsvNotetype { method parse (line 600) | pub fn parse(s: &str) -> Self { type CsvMetadataTestExt (line 625) | pub trait CsvMetadataTestExt { method defaults_for_testing (line 626) | fn defaults_for_testing() -> Self; method unwrap_deck_id (line 627) | fn unwrap_deck_id(&self) -> i64; method unwrap_deck_name (line 628) | fn unwrap_deck_name(&self) -> &str; method unwrap_notetype_id (line 629) | fn unwrap_notetype_id(&self) -> i64; method unwrap_notetype_map (line 630) | fn unwrap_notetype_map(&self) -> &[u32]; method defaults_for_testing (line 634) | fn defaults_for_testing() -> Self { method unwrap_deck_id (line 656) | fn unwrap_deck_id(&self) -> i64 { method unwrap_deck_name (line 663) | fn unwrap_deck_name(&self) -> &str { method unwrap_notetype_id (line 670) | fn unwrap_notetype_id(&self) -> i64 { method unwrap_notetype_map (line 676) | fn unwrap_notetype_map(&self) -> &[u32] { function should_detect_deck_by_name_or_id (line 685) | fn should_detect_deck_by_name_or_id() { function should_detect_notetype_by_name_or_id (line 702) | fn should_detect_notetype_by_name_or_id() { function should_fallback_to_parsing_deck_ids_as_deck_names (line 716) | fn should_fallback_to_parsing_deck_ids_as_deck_names() { function should_detect_valid_delimiters (line 745) | fn should_detect_valid_delimiters() { function should_enforce_valid_html_flag (line 774) | fn should_enforce_valid_html_flag() { function should_set_missing_html_flag_by_first_line (line 789) | fn should_set_missing_html_flag_by_first_line() { function should_detect_old_and_new_style_tags (line 803) | fn should_detect_old_and_new_style_tags() { function should_detect_column_number_and_names (line 821) | fn should_detect_column_number_and_names() { function should_detect_column_number_despite_escaped_line_breaks (line 858) | fn should_detect_column_number_despite_escaped_line_breaks() { function should_map_default_notetype_fields_by_index_if_no_column_names (line 869) | fn should_map_default_notetype_fields_by_index_if_no_column_names() { function should_map_default_notetype_fields_by_given_column_names (line 876) | fn should_map_default_notetype_fields_by_given_column_names() { function should_gather_first_lines_into_preview (line 883) | fn should_gather_first_lines_into_preview() { function should_parse_first_first_line_despite_bom (line 892) | fn should_parse_first_first_line_despite_bom() { function should_not_set_tags_column_if_all_are_field_columns (line 902) | fn should_not_set_tags_column_if_all_are_field_columns() { function should_set_tags_column_to_next_unused_column (line 910) | fn should_set_tags_column_to_next_unused_column() { function should_allow_non_freeform_metadata_lines_to_be_suffixed_by_delimiters (line 921) | fn should_allow_non_freeform_metadata_lines_to_be_suffixed_by_delimiters... FILE: rslib/src/import_export/text/import.rs method import (line 35) | pub fn import( method update_config (line 54) | fn update_config(&self, col: &mut Collection) -> Result<()> { function new_note_log (line 64) | fn new_note_log(dupe_resolution: DupeResolution, found_notes: u32) -> No... type Context (line 72) | struct Context<'a> { type DeckIdsByNameOrId (line 86) | struct DeckIdsByNameOrId { method new (line 150) | fn new(col: &mut Collection, default: &NameOrId, usn: Usn) -> Result Option { method insert (line 187) | fn insert(&mut self, deck_id: DeckId, name: String) { type ExistingChecksums (line 96) | enum ExistingChecksums { method new (line 102) | fn new(col: &mut Collection, match_scope: MatchScope) -> Result { method get (line 115) | fn get(&self, notetype: NotetypeId, checksum: u32, deck: DeckId) -> Op... type NoteContext (line 123) | struct NoteContext<'a> { type Duplicate (line 132) | struct Duplicate { method new (line 139) | fn new(dupe: Note, original: &ForeignNote, first_field_match: bool) ->... function new (line 194) | fn new(data: &ForeignData, col: &'a mut Collection) -> Result { function import_foreign_notetypes (line 221) | fn import_foreign_notetypes(&mut self, notetypes: Vec) ... function notetype_for_note (line 231) | fn notetype_for_note(&mut self, note: &ForeignNote) -> Result Result( function prepare_foreign_note (line 313) | fn prepare_foreign_note(&mut self, note: &mut ForeignNote) -> Result<()> { function find_duplicates (line 318) | fn find_duplicates( function get_guid_dupe (line 337) | fn get_guid_dupe(&self, nid: NoteId, original: &ForeignNote) -> Result ... function import_note (line 354) | fn import_note(&mut self, ctx: NoteContext, log: &mut NoteLog) -> Result... function add_note (line 372) | fn add_note(&mut self, ctx: NoteContext, log: &mut NoteLog) -> Result<()> { function add_cards (line 390) | fn add_cards( function update_with_note (line 401) | fn update_with_note(&mut self, ctx: NoteContext, log: &mut NoteLog) -> R... function prepare_note (line 431) | fn prepare_note(&mut self, note: &mut Note, notetype: &Notetype) -> Resu... function import_cards (line 438) | fn import_cards(&mut self, cards: &mut [Card], note_id: NoteId) -> Resul... function generate_missing_cards (line 446) | fn generate_missing_cards( type DuplicateUpdateResult (line 463) | enum DuplicateUpdateResult { method priority (line 471) | fn priority(&self) -> u8 { method update (line 480) | fn update(&mut self, new: Self) { method log (line 486) | fn log(self, log: &mut NoteLog) { function is_guid_dupe (line 502) | fn is_guid_dupe(&self) -> bool { function has_first_field (line 508) | fn has_first_field(&self) -> bool { method first_field_stripped (line 514) | fn first_field_stripped(&self) -> Cow<'_, str> { method deck_id_by_name_or_id (line 520) | pub(super) fn deck_id_by_name_or_id(&mut self, deck: &NameOrId) -> Resul... method notetype_by_name_or_id (line 533) | pub(super) fn notetype_by_name_or_id( method canonify_foreign_tags (line 549) | fn canonify_foreign_tags(&mut self, note: &mut ForeignNote, usn: Usn) ->... method get_full_duplicates (line 557) | fn get_full_duplicates(&self, note: &ForeignNote, dupe_ids: &[NoteId]) -... method into_native (line 572) | fn into_native<'tags>( method first_field_is_the_empty_string (line 602) | fn first_field_is_the_empty_string(&self) -> bool { method first_field_is_unempty (line 606) | fn first_field_is_unempty(&self) -> bool { method normalize_fields (line 610) | fn normalize_fields(&mut self, normalize_text: bool) { method equal_fields_and_tags (line 617) | fn equal_fields_and_tags(&self, other: &Note) -> bool { method first_field_stripped (line 626) | fn first_field_stripped(&self) -> Option> { method checksum (line 635) | fn checksum(&self) -> Option { method into_native (line 642) | fn into_native( method native_due (line 664) | fn native_due(self, timing: &SchedTimingToday) -> i32 { method into_native (line 672) | fn into_native(self) -> Notetype { method into_native (line 692) | fn into_native(self) -> CardTemplate { method with_defaults (line 704) | fn with_defaults() -> Self { method add_note (line 712) | fn add_note(&mut self, fields: &[&str]) { function should_always_add_note_if_dupe_mode_is_add (line 721) | fn should_always_add_note_if_dupe_mode_is_add() { function should_add_or_ignore_note_if_dupe_mode_is_ignore (line 735) | fn should_add_or_ignore_note_if_dupe_mode_is_ignore() { function should_update_or_add_note_if_dupe_mode_is_update (line 753) | fn should_update_or_add_note_if_dupe_mode_is_update() { function should_keep_old_field_content_if_no_new_one_is_supplied (line 769) | fn should_keep_old_field_content_if_no_new_one_is_supplied() { function should_recognize_normalized_duplicate_only_if_normalization_is_enabled (line 789) | fn should_recognize_normalized_duplicate_only_if_normalization_is_enable... function should_add_global_tags (line 812) | fn should_add_global_tags() { function should_match_note_with_same_guid (line 824) | fn should_match_note_with_same_guid() { function should_only_update_duplicates_in_same_deck_if_limit_is_enabled (line 836) | fn should_only_update_duplicates_in_same_deck_if_limit_is_enabled() { FILE: rslib/src/import_export/text/json.rs method import_json_file (line 11) | pub fn import_json_file(&mut self, path: &str) -> Result Result LogNote { type ForeignCard (line 41) | pub struct ForeignCard { type ForeignNotetype (line 52) | pub struct ForeignNotetype { type ForeignTemplate (line 61) | pub struct ForeignTemplate { type NameOrId (line 69) | pub enum NameOrId { method from (line 81) | fn from(s: String) -> Self { method fmt (line 87) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 75) | fn default() -> Self { FILE: rslib/src/latex.rs function contains_latex (line 37) | pub(crate) fn contains_latex(text: &str) -> bool { type ExtractedLatex (line 42) | pub struct ExtractedLatex { function extract_latex_expanding_clozes (line 48) | pub(crate) fn extract_latex_expanding_clozes( function extract_latex (line 63) | pub fn extract_latex(text: &str, svg: bool) -> (Cow<'_, str>, Vec Cow<'_, str> { function fname_for_latex (line 99) | fn fname_for_latex(latex: &str, svg: bool) -> String { function image_link_for_fname (line 106) | fn image_link_for_fname(src: &str, fname: &str) -> String { function latex (line 120) | fn latex() { FILE: rslib/src/links.rs function help_page_to_link (line 11) | pub fn help_page_to_link(page: HelpPage) -> String { function help_page_link_suffix (line 15) | pub fn help_page_link_suffix(page: HelpPage) -> &'static str { method help_page_link (line 46) | fn help_page_link( FILE: rslib/src/log.rs constant LOG_ROTATE_BYTES (line 19) | const LOG_ROTATE_BYTES: u64 = 50 * 1024 * 1024; function set_global_logger (line 22) | pub fn set_global_logger(path: Option<&str>) -> Result<()> { function get_appender (line 47) | fn get_appender(path: &str) -> Result { function maybe_rotate_log (line 57) | fn maybe_rotate_log(path: &str) -> io::Result<()> { FILE: rslib/src/markdown.rs function render_markdown (line 7) | pub(crate) fn render_markdown(markdown: &str) -> String { FILE: rslib/src/media/check.rs type MediaCheckOutput (line 37) | pub struct MediaCheckOutput { type MediaFolderCheck (line 50) | struct MediaFolderCheck { method media_checker (line 58) | pub fn media_checker(&mut self) -> Result> { type MediaChecker (line 63) | pub struct MediaChecker<'a> { function new (line 71) | pub(crate) fn new(col: &mut Collection) -> Result> { function check (line 80) | pub fn check(&mut self) -> Result { function summarize_output (line 98) | pub fn summarize_output(&self, output: &mut MediaCheckOutput) -> String { function increment_progress (line 193) | fn increment_progress(&mut self) -> Result<()> { function check_media_folder (line 202) | fn check_media_folder(&mut self) -> Result { function normalize_file (line 260) | fn normalize_file<'a>(&mut self, disk_fname: &'a str, data: Vec) -> ... function files_in_trash (line 274) | fn files_in_trash(&mut self) -> Result<(u64, u64)> { function empty_trash (line 297) | pub fn empty_trash(&mut self) -> Result<()> { function restore_trash (line 311) | pub fn restore_trash(&mut self) -> Result<()> { function check_media_references (line 344) | fn check_media_references( function fix_and_extract_media_refs (line 390) | fn fix_and_extract_media_refs( function normalize_and_maybe_rename_files (line 413) | fn normalize_and_maybe_rename_files<'a>( function maybe_extract_inline_image (line 461) | fn maybe_extract_inline_image<'a>(&mut self, fname_decoded: &'a str) -> ... function rename_media_ref_in_field (line 486) | fn rename_media_ref_in_field(field: &str, media_ref: &MediaRef, new_name... type UnusedAndMissingFiles (line 497) | struct UnusedAndMissingFiles { method new (line 504) | fn new(files: Vec, mut references: HashMap... function extract_latex_refs (line 529) | fn extract_latex_refs(note: &Note, mut tracker: impl FnMut(String), svg:... constant MEDIACHECK_ANKI2 (line 540) | pub(crate) const MEDIACHECK_ANKI2: &[u8] = function common_setup (line 558) | fn common_setup() -> Result<(TempDir, MediaManager, Collection)> { function media_check (line 575) | fn media_check() -> Result<()> { function files_in_dir (line 638) | fn files_in_dir(dir: &Path) -> Vec { function trash_handling (line 652) | fn trash_handling() -> Result<()> { function unicode_normalization (line 699) | fn unicode_normalization() -> Result<()> { function normalize_and_maybe_rename_files_helper (line 754) | fn normalize_and_maybe_rename_files_helper( function html_encoding (line 768) | fn html_encoding() -> Result<()> { function inlined_images (line 787) | fn inlined_images() -> Result<()> { function html_chevron_in_non_source_attribute (line 807) | fn html_chevron_in_non_source_attribute() -> Result<()> { function multiple_images (line 830) | fn multiple_images() -> Result<()> { function source_tags (line 853) | fn source_tags() -> Result<()> { function long_filename_rename_not_reported_as_unused (line 876) | fn long_filename_rename_not_reported_as_unused() -> Result<()> { FILE: rslib/src/media/files.rs function disallowed_char (line 74) | fn disallowed_char(char: char) -> bool { function nonbreaking_space (line 84) | fn nonbreaking_space(char: char) -> bool { function normalize_filename (line 94) | pub(crate) fn normalize_filename(fname: &str) -> Cow<'_, str> { function normalize_nfc_filename (line 105) | pub(crate) fn normalize_nfc_filename(mut fname: Cow<'_, str>) -> Cow<'_,... function filename_if_normalized (line 140) | pub(crate) fn filename_if_normalized(fname: &str) -> Option> { function add_data_to_folder_uniquely (line 167) | pub fn add_data_to_folder_uniquely<'a, P>( function add_hash_suffix_to_file_stem (line 203) | pub(crate) fn add_hash_suffix_to_file_stem(fname: &str, hash: &Sha1Hash)... function truncate_filename (line 213) | fn truncate_filename(fname: &str, max_bytes: usize) -> Cow<'_, str> { function split_and_truncate_filename (line 237) | fn split_and_truncate_filename(fname: &str, max_bytes: usize) -> (&str, ... function truncated_to_char_boundary (line 264) | fn truncated_to_char_boundary(s: &str, mut max: usize) -> &str { function existing_file_sha1 (line 276) | fn existing_file_sha1(path: &Path) -> Result, FileIoErr... function sha1_of_file (line 285) | pub(crate) fn sha1_of_file(path: &Path) -> Result { function sha1_of_reader (line 294) | pub(crate) fn sha1_of_reader(reader: &mut impl Read) -> io::Result Sha1Hash { function mtime_as_i64 (line 315) | pub(crate) fn mtime_as_i64>(path: P) -> io::Result { function remove_files (line 325) | pub fn remove_files(media_folder: &Path, files: &[S]) -> Result<()> function trash_folder (line 366) | pub(super) fn trash_folder(media_folder: &Path) -> Result { type AddedFile (line 380) | pub struct AddedFile { function add_file_from_ankiweb (line 391) | pub(crate) fn add_file_from_ankiweb( function data_for_file (line 429) | pub(crate) fn data_for_file(media_folder: &Path, fname: &str) -> Result<... function normalize (line 454) | fn normalize() { function add_hash_suffix (line 475) | fn add_hash_suffix() { function adding_removing (line 484) | fn adding_removing() { function truncation (line 532) | fn truncation() { FILE: rslib/src/media/mod.rs type Sha1Hash (line 30) | pub type Sha1Hash = [u8; 20]; method media (line 33) | pub fn media(&self) -> Result { type MediaManager (line 38) | pub struct MediaManager { method new (line 44) | pub fn new(media_folder: P, media_db: P2) -> Result method add_file (line 66) | pub fn add_file<'a>(&self, desired_name: &'a str, data: &[u8]) -> Resu... method remove_files (line 92) | pub fn remove_files(&self, filenames: &[S]) -> Result<()> method transact (line 112) | pub(crate) fn transact(&self, func: impl FnOnce(&MediaDatabase) -> ... method add_entry (line 133) | pub(crate) fn add_entry(&self, fname: impl Into, sha1: [u8; 20... method sync_media (line 145) | pub async fn sync_media( method all_checksums_after_checking (line 157) | pub fn all_checksums_after_checking( method checksum_getter (line 165) | pub fn checksum_getter(&self) -> impl FnMut(&str) -> Result boo... method all_checksums_as_is (line 179) | pub(crate) fn all_checksums_as_is(&self) -> Checksums { FILE: rslib/src/media/service.rs method check_media (line 17) | fn check_media(&mut self) -> error::Result { method add_media_file (line 35) | fn add_media_file(&mut self, input: AddMediaFileRequest) -> error::Resul... method trash_media_files (line 43) | fn trash_media_files(&mut self, input: TrashMediaFilesRequest) -> error:... method empty_trash (line 47) | fn empty_trash(&mut self) -> error::Result<()> { method restore_trash (line 51) | fn restore_trash(&mut self) -> error::Result<()> { method extract_static_media_files (line 55) | fn extract_static_media_files( FILE: rslib/src/notes/mod.rs type TransformNoteOutput (line 33) | pub(crate) struct TransformNoteOutput { type Note (line 41) | pub struct Note { method fields (line 54) | pub fn fields(&self) -> &Vec { method into_fields (line 58) | pub fn into_fields(self) -> Vec { method set_field (line 62) | pub fn set_field(&mut self, idx: usize, text: impl Into) -> Re... method new (line 142) | pub fn new(notetype: &Notetype) -> Self { method new_from_storage (line 157) | pub(crate) fn new_from_storage( method fields_mut (line 181) | pub fn fields_mut(&mut self) -> &mut Vec { method mark_dirty (line 187) | fn mark_dirty(&mut self) { method prepare_for_update (line 193) | pub(crate) fn prepare_for_update(&mut self, nt: &Notetype, normalize_t... method set_modified_with_mtime (line 224) | pub(crate) fn set_modified_with_mtime(&mut self, usn: Usn, mtime: Time... method set_modified (line 229) | pub(crate) fn set_modified(&mut self, usn: Usn) { method nonempty_fields (line 233) | pub(crate) fn nonempty_fields<'a>(&self, fields: &'a [NoteField]) -> H... method fields_map (line 247) | pub(crate) fn fields_map<'a>( method fix_field_count (line 264) | pub(crate) fn fix_field_count(&mut self, nt: &Notetype) { method from (line 303) | fn from(n: anki_proto::notes::Note) -> Self { type AddNoteRequest (line 73) | pub struct AddNoteRequest { type Error (line 79) | type Error = AnkiError; method try_from (line 81) | fn try_from(request: anki_proto::notes::AddNoteRequest) -> error::Resu... method add_note (line 90) | pub fn add_note(&mut self, note: &mut Note, did: DeckId) -> Result Result Result Self { function field_checksum (line 320) | pub(crate) fn field_checksum(text: &str) -> u32 { function base91_u64 (line 327) | pub(crate) fn base91_u64() -> String { function anki_base91 (line 331) | fn anki_base91(n: u64) -> String { function to_base_n (line 339) | pub fn to_base_n(mut n: u64, table: &[u8]) -> String { function invalid_char_for_field (line 350) | fn invalid_char_for_field(c: char) -> bool { type UpdateNoteInnerWithoutCardsArgs (line 356) | pub(crate) struct UpdateNoteInnerWithoutCardsArgs<'a> { method canonify_note_tags (line 367) | pub(crate) fn canonify_note_tags(&mut self, note: &mut Note, usn: Usn) -... method add_note_inner (line 375) | pub(crate) fn add_note_inner(&mut self, note: &mut Note, did: DeckId) ->... method update_note (line 393) | pub fn update_note(&mut self, note: &mut Note) -> Result> { method update_notes_maybe_undoable (line 397) | pub(crate) fn update_notes_maybe_undoable( method update_note_inner (line 430) | pub(crate) fn update_note_inner(&mut self, note: &mut Note) -> Result<()> { method update_note_inner_generating_cards (line 446) | pub(crate) fn update_note_inner_generating_cards( method update_note_inner_without_cards_using_mtime (line 468) | pub(crate) fn update_note_inner_without_cards_using_mtime( method update_note_inner_without_cards (line 495) | pub(crate) fn update_note_inner_without_cards( method remove_notes_inner (line 502) | pub(crate) fn remove_notes_inner(&mut self, nids: &[NoteId], usn: Usn) -... method after_note_updates_inner (line 517) | fn after_note_updates_inner( method transform_notes (line 533) | pub(crate) fn transform_notes( method note_fields_check (line 597) | pub fn note_fields_check(&mut self, note: &Note) -> Result Result { method field_cloze_check (line 635) | fn field_cloze_check(&mut self, note: &Note) -> Result { function note_differs_from_db (line 674) | fn note_differs_from_db(existing_note: &mut Note, note: &mut Note) -> bo... function test_base91 (line 695) | fn test_base91() { function test_field_checksum (line 704) | fn test_field_checksum() { function adding_cards (line 710) | fn adding_cards() -> Result<()> { function normalization (line 758) | fn normalization() -> Result<()> { function undo (line 790) | fn undo() -> Result<()> { FILE: rslib/src/notes/service.rs function to_i64s (line 15) | pub(crate) fn to_i64s(ids: Vec) -> Vec { method new_note (line 20) | fn new_note( method add_note (line 30) | fn add_note( method add_notes (line 42) | fn add_notes( method defaults_for_adding (line 58) | fn defaults_for_adding( method default_deck_for_notetype (line 66) | fn default_deck_for_notetype( method update_notes (line 76) | fn update_notes( method get_note (line 89) | fn get_note( method remove_notes (line 100) | fn remove_notes( method cloze_numbers_in_note (line 125) | fn cloze_numbers_in_note( method after_note_updates (line 135) | fn after_note_updates( method field_names_for_notes (line 147) | fn field_names_for_notes( method note_fields_check (line 157) | fn note_fields_check( method cards_of_note (line 167) | fn cards_of_note( method get_single_notetype_of_notes (line 178) | fn get_single_notetype_of_notes( function to_note_ids (line 187) | pub(crate) fn to_note_ids(ids: Vec) -> Vec { method from (line 192) | fn from(nid: anki_proto::notes::NoteId) -> Self { function from (line 198) | fn from(nid: NoteId) -> Self { FILE: rslib/src/notes/undo.rs type UndoableNoteChange (line 10) | pub(crate) enum UndoableNoteChange { method undo_note_change (line 20) | pub(crate) fn undo_note_change(&mut self, change: UndoableNoteChange) ->... method update_note_undoable (line 45) | pub(crate) fn update_note_undoable(&mut self, note: &Note, original: &No... method remove_note_only_undoable (line 53) | pub(crate) fn remove_note_only_undoable(&mut self, nid: NoteId, usn: Usn... method maybe_coalesce_note_undo_entry (line 64) | pub(crate) fn maybe_coalesce_note_undo_entry(&mut self, changes: &OpChan... method add_note_only_undoable (line 89) | pub(crate) fn add_note_only_undoable(&mut self, note: &mut Note) -> Resu... method add_note_only_with_id_undoable (line 97) | pub(crate) fn add_note_only_with_id_undoable(&mut self, note: &mut Note)... method update_note_tags_undoable (line 103) | pub(crate) fn update_note_tags_undoable( method remove_note_without_grave (line 112) | fn remove_note_without_grave(&mut self, note: Note) -> Result<()> { method restore_deleted_note (line 118) | fn restore_deleted_note(&mut self, note: Note) -> Result<()> { method add_note_grave (line 124) | fn add_note_grave(&mut self, nid: NoteId, usn: Usn) -> Result<()> { method remove_note_grave (line 129) | fn remove_note_grave(&mut self, nid: NoteId, usn: Usn) -> Result<()> { FILE: rslib/src/notetype/cardgen.rs type AlreadyGeneratedCardInfo (line 21) | pub(crate) struct AlreadyGeneratedCardInfo { type CardToGenerate (line 30) | pub(crate) struct CardToGenerate { type SingleCardGenContext (line 38) | pub(crate) struct SingleCardGenContext { type CardGenContext (line 45) | pub(crate) struct CardGenContext> { type CardGenCache (line 55) | pub(crate) struct CardGenCache { function new (line 61) | pub(crate) fn new(nt: N, last_deck: Option, usn: Usn) -> CardGen... function is_nonempty (line 81) | fn is_nonempty(&self, card_ord: usize, nonempty_fields: &HashSet<&str>) ... function new_cards_required (line 95) | pub(crate) fn new_cards_required( function new_cards_required_normal (line 119) | fn new_cards_required_normal( function new_cards_required_cloze (line 149) | fn new_cards_required_cloze( function group_generated_cards_by_note (line 174) | pub(super) fn group_generated_cards_by_note( type ExtractedCardInfo (line 185) | pub(crate) struct ExtractedCardInfo { function extract_data_from_existing_cards (line 193) | pub(crate) fn extract_data_from_existing_cards( method generate_cards_for_new_note (line 217) | pub(crate) fn generate_cards_for_new_note( method generate_cards_for_existing_note (line 232) | pub(crate) fn generate_cards_for_existing_note( method generate_cards_for_note (line 242) | fn generate_cards_for_note( method generate_cards_for_notetype (line 258) | pub(crate) fn generate_cards_for_notetype( method add_generated_cards (line 281) | pub(crate) fn add_generated_cards( method due_for_deck (line 305) | fn due_for_deck( method deck_for_adding (line 335) | fn deck_for_adding(&mut self, did: Option) -> Result<(DeckId, De... method default_deck_conf (line 345) | fn default_deck_conf(&mut self) -> Result<(DeckId, DeckConfigId)> { method deck_conf_if_normal (line 352) | fn deck_conf_if_normal(&mut self, did: DeckId) -> Result u32 { function random (line 370) | fn random() { function new_cards_required_normal_basic (line 380) | fn new_cards_required_normal_basic() { function new_cards_required_cloze_basic (line 398) | fn new_cards_required_cloze_basic() { function new_cards_required_cloze_multi (line 412) | fn new_cards_required_cloze_multi() { function new_cards_required_normal_tags_conditional (line 431) | fn new_cards_required_normal_tags_conditional() { function new_cards_required_normal_tags_empty (line 450) | fn new_cards_required_normal_tags_empty() { function new_cards_required_skip_existing_cards (line 468) | fn new_cards_required_skip_existing_cards() { FILE: rslib/src/notetype/checks.rs type Template (line 21) | struct Template<'a> { method report_media_field_referencing_templates (line 30) | pub fn report_media_field_referencing_templates(&mut self, buf: &mut Str... function media_field_referencing_templates (line 38) | fn media_field_referencing_templates<'a>( function references_media_field (line 54) | fn references_media_field(format: &str) -> bool { function captures_contain_field_replacement (line 66) | fn captures_contain_field_replacement(caps: Captures) -> bool { function match_contains_field_replacement (line 72) | fn match_contains_field_replacement(m: Match) -> bool { function write_template_report (line 76) | fn write_template_report(buf: &mut String, templates: &[Template], tr: &... function new (line 92) | fn new(notetype: &'a str, card_type: &'a str, front: bool) -> Self { function as_str (line 100) | fn as_str(&self, tr: &I18n) -> String { function side_name (line 108) | fn side_name<'tr>(&self, tr: &'tr I18n) -> Cow<'tr, str> { method sides (line 118) | fn sides(&self) -> [(&str, bool); 2] { function should_report_media_field_referencing_template (line 133) | fn should_report_media_field_referencing_template() { FILE: rslib/src/notetype/emptycards.rs type EmptyCardsForNote (line 17) | pub struct EmptyCardsForNote { method empty_cards_for_notetype (line 25) | fn empty_cards_for_notetype(&self, nt: &Notetype) -> Result Result Self { method new (line 36) | pub fn new(name: impl Into) -> Self { method fix_name (line 58) | pub(crate) fn fix_name(&mut self) -> Result<()> { method from (line 16) | fn from(f: NoteField) -> Self { function name (line 80) | fn name() { FILE: rslib/src/notetype/merge.rs method merge (line 10) | pub(crate) fn merge(&mut self, other: &Self) { method merge_all (line 17) | pub(crate) fn merge_all<'a>(&mut self, others: impl IntoIterator Option { method merge_templates (line 46) | fn merge_templates(&mut self, other: &Self) { method find_template (line 60) | fn find_template(&self, like: &CardTemplate) -> Option { method is_match (line 71) | pub(crate) fn is_match(&self, other: &Self) -> bool { method is_match (line 83) | pub(crate) fn is_match(&self, other: &Self) -> bool { method field_ids (line 100) | fn field_ids(&self) -> impl Iterator> + '_ { method template_ids (line 104) | fn template_ids(&self) -> impl Iterator> + '_ { function merge_new_fields (line 110) | fn merge_new_fields() { function skip_merging_field_with_existing_id (line 122) | fn skip_merging_field_with_existing_id() { function align_field_order (line 132) | fn align_field_order() { function merge_new_templates (line 142) | fn merge_new_templates() { function skip_merging_template_with_existing_id (line 154) | fn skip_merging_template_with_existing_id() { function align_template_order (line 164) | fn align_template_order() { FILE: rslib/src/notetype/mod.rs constant DEFAULT_CSS (line 66) | pub(crate) const DEFAULT_CSS: &str = include_str!("styling.css"); constant DEFAULT_CLOZE_CSS (line 67) | pub(crate) const DEFAULT_CLOZE_CSS: &str = include_str!("cloze_styling.c... constant DEFAULT_LATEX_HEADER (line 68) | pub(crate) const DEFAULT_LATEX_HEADER: &str = include_str!("header.tex"); constant DEFAULT_LATEX_FOOTER (line 69) | pub(crate) const DEFAULT_LATEX_FOOTER: &str = r"\end{document}"; type Notetype (line 85) | pub struct Notetype { method new_config (line 110) | pub(crate) fn new_config() -> NotetypeConfig { method new_cloze_config (line 119) | pub(crate) fn new_cloze_config() -> NotetypeConfig { method new_note (line 128) | pub fn new_note(&self) -> Note { method get_template (line 134) | pub fn get_template(&self, card_ord: u16) -> Result<&CardTemplate> { method ensure_names_unique (line 271) | pub(crate) fn ensure_names_unique(&mut self) { method set_modified (line 296) | pub(crate) fn set_modified(&mut self, usn: Usn) { method updated_requirements (line 301) | fn updated_requirements( method reposition_sort_idx (line 348) | fn reposition_sort_idx(&mut self) { method ensure_template_fronts_unique (line 368) | fn ensure_template_fronts_unique(&self) -> Result<(), CardTypeError> { method ensure_valid_parsed_templates (line 390) | fn ensure_valid_parsed_templates( method ensure_valid_parsed_card_templates (line 404) | fn ensure_valid_parsed_card_templates( method first_unknown_field_name (line 428) | fn first_unknown_field_name(&self, names: T) -> Option method ensure_cloze_if_cloze_notetype (line 441) | fn ensure_cloze_if_cloze_notetype( method normalize_names (line 455) | pub(crate) fn normalize_names(&mut self) { method add_field (line 465) | pub(crate) fn add_field>(&mut self, name: S) -> &mut N... method add_template (line 470) | pub(crate) fn add_template(&mut self, name: S1, qfmt: S2, ... method prepare_for_update (line 479) | pub(crate) fn prepare_for_update( method check_templates (line 520) | fn check_templates( method renamed_and_removed_fields (line 530) | fn renamed_and_removed_fields(&self, current: &Notetype) -> HashMap Vec<(Option, Option Vec<(Option, Opt... method fix_field_names (line 628) | fn fix_field_names(&mut self) -> Result<()> { method fix_template_names (line 632) | fn fix_template_names(&mut self) -> Result<()> { method get_field_ord (line 639) | pub(crate) fn get_field_ord(&self, field_name: &str) -> Option { method is_cloze (line 654) | pub(crate) fn is_cloze(&self) -> bool { method cloze_fields (line 661) | pub(crate) fn cloze_fields(&self) -> HashSet { method gather_media_names (line 675) | pub(crate) fn gather_media_names(&self, inserter: &mut impl FnMut(Stri... method default (line 96) | fn default() -> Self { method add_notetype (line 147) | pub fn add_notetype( method update_notetype (line 164) | pub fn update_notetype( method add_or_update_notetype_with_existing_id (line 187) | pub fn add_or_update_notetype_with_existing_id( method get_notetype_by_name (line 199) | pub fn get_notetype_by_name(&mut self, name: &str) -> Result Result Result>> { method get_all_notetypes_of_search_notes (line 228) | pub fn get_all_notetypes_of_search_notes( method remove_notetype (line 243) | pub fn remove_notetype(&mut self, ntid: NotetypeId) -> Result R... function missing_cloze_filter (line 691) | fn missing_cloze_filter( function has_cloze (line 700) | fn has_cloze(template: &Option) -> bool { method from (line 707) | fn from(nt: Notetype) -> Self { method ensure_notetype_name_unique (line 721) | pub(crate) fn ensure_notetype_name_unique( method add_notetype_inner (line 742) | pub(crate) fn add_notetype_inner( method add_or_update_notetype_with_existing_id_inner (line 756) | pub(crate) fn add_or_update_notetype_with_existing_id_inner( method remove_notetype_inner (line 786) | pub(crate) fn remove_notetype_inner(&mut self, ntid: NotetypeId) -> Resu... function update_templates_after_removing_crucial_fields (line 825) | fn update_templates_after_removing_crucial_fields() { FILE: rslib/src/notetype/notetypechange.rs type ChangeNotetypeInput (line 20) | pub struct ChangeNotetypeInput { type NotetypeChangeInfo (line 31) | pub struct NotetypeChangeInfo { type TemplateMap (line 41) | pub struct TemplateMap { method new (line 47) | fn new(new_templates: Vec>, old_template_count: usize) -... method notetype_change_info (line 73) | pub fn notetype_change_info( method change_notetype_of_notes (line 115) | pub fn change_notetype_of_notes(&mut self, input: ChangeNotetypeInput) -... function default_template_map (line 122) | fn default_template_map( function default_field_map (line 174) | fn default_field_map(current_notetype: &Notetype, new_notetype: &Notetyp... method change_notetype_of_notes_inner (line 212) | pub(crate) fn change_notetype_of_notes_inner( method update_notes_for_new_notetype_and_generate_cards (line 255) | fn update_notes_for_new_notetype_and_generate_cards( method update_cards_for_new_notetype (line 281) | fn update_cards_for_new_notetype( method remove_unmapped_cards (line 296) | fn remove_unmapped_cards( method rewrite_remapped_cards (line 313) | fn rewrite_remapped_cards( method maybe_remove_cards_with_missing_template (line 340) | fn maybe_remove_cards_with_missing_template( function remap_fields (line 363) | fn remap_fields(fields: &mut Vec, new_fields: &[Option]) { function field_map (line 383) | fn field_map() -> Result<()> { function template_map (line 429) | fn template_map() { function basic (line 450) | fn basic() -> Result<()> { function field_count_change (line 486) | fn field_count_change() -> Result<()> { function cloze (line 507) | fn cloze() -> Result<()> { FILE: rslib/src/notetype/render.rs type RenderCardOutput (line 18) | pub struct RenderCardOutput { method question (line 28) | pub fn question(&self) -> Cow<'_, str> { method answer (line 36) | pub fn answer(&self) -> Cow<'_, str> { method render_existing_card (line 46) | pub fn render_existing_card( method render_uncommitted_card (line 72) | pub fn render_uncommitted_card( method existing_or_synthesized_card (line 92) | fn existing_or_synthesized_card( method render_card (line 112) | pub fn render_card( method add_special_fields (line 162) | fn add_special_fields( function flag_name (line 193) | fn flag_name(n: u8) -> String { function fill_empty_fields (line 197) | fn fill_empty_fields(note: &mut Note, qfmt: &str, nt: &Notetype, tr: &I1... function can_render_fully (line 220) | fn can_render_fully() -> Result<()> { function special_fields_complete (line 241) | fn special_fields_complete() -> Result<()> { FILE: rslib/src/notetype/restore.rs method restore_notetype_to_stock (line 15) | pub(crate) fn restore_notetype_to_stock( function adding_and_removing_fields_and_templates (line 62) | fn adding_and_removing_fields_and_templates() -> Result<()> { FILE: rslib/src/notetype/schema11.rs type NotetypeKind (line 34) | pub enum NotetypeKind { type NotetypeSchema11 (line 41) | pub struct NotetypeSchema11 { method latex_uses_svg (line 92) | pub fn latex_uses_svg(&self) -> bool { method from (line 152) | fn from(p: Notetype) -> Self { type CardRequirementsSchema11 (line 74) | pub(crate) struct CardRequirementsSchema11(pub(crate) Vec Self { type FieldRequirementKindSchema11 (line 85) | pub enum FieldRequirementKindSchema11 { method from (line 98) | fn from(nt: NotetypeSchema11) -> Self { function other_to_bytes (line 123) | fn other_to_bytes(other: &HashMap) -> Vec { function parse_other_fields (line 135) | pub(crate) fn parse_other_fields( method from (line 204) | fn from(r: CardRequirementSchema11) -> Self { type NoteFieldSchema11 (line 233) | pub struct NoteFieldSchema11 { method from (line 315) | fn from(p: NoteField) -> Self { method default (line 271) | fn default() -> Self { method from (line 292) | fn from(f: NoteFieldSchema11) -> Self { type CardTemplateSchema11 (line 353) | pub struct CardTemplateSchema11 { method from (line 398) | fn from(p: CardTemplate) -> Self { method from (line 376) | fn from(t: CardTemplateSchema11) -> Self { function all_reserved_fields_are_removed (line 442) | fn all_reserved_fields_are_removed() -> Result<()> { FILE: rslib/src/notetype/schemachange.rs function ords_changed (line 18) | fn ords_changed(ords: &[Option], previous_len: usize) -> bool { type TemplateOrdChanges (line 27) | struct TemplateOrdChanges { method new (line 35) | fn new(ords: Vec>, previous_len: u32) -> Self { method is_empty (line 59) | fn is_empty(&self) -> bool { method update_notes_for_changed_fields (line 67) | pub(crate) fn update_notes_for_changed_fields( method update_cards_for_changed_templates (line 124) | pub(crate) fn update_cards_for_changed_templates( function should_generate_cards (line 165) | fn should_generate_cards( method template_fronts_are_identical (line 176) | fn template_fronts_are_identical(&self, other_templates: &[CardTemplate]... method reorder_fields (line 185) | pub(crate) fn reorder_fields(&mut self, new_ords: &[Option]) { function ord_changes (line 203) | fn ord_changes() { function template_changes (line 212) | fn template_changes() { function fields (line 258) | fn fields() -> Result<()> { function field_renaming_and_deleting (line 286) | fn field_renaming_and_deleting() -> Result<()> { function cards (line 307) | fn cards() -> Result<()> { FILE: rslib/src/notetype/service.rs method add_notetype (line 21) | fn add_notetype( method update_notetype (line 33) | fn update_notetype( method add_notetype_legacy (line 41) | fn add_notetype_legacy( method update_notetype_legacy (line 54) | fn update_notetype_legacy( method add_or_update_notetype (line 64) | fn add_or_update_notetype( method get_stock_notetype_legacy (line 83) | fn get_stock_notetype_legacy( method get_notetype (line 94) | fn get_notetype( method get_notetype_legacy (line 106) | fn get_notetype_legacy( method get_notetype_names (line 117) | fn get_notetype_names(&mut self) -> error::Result Self { function from (line 247) | fn from(i: NotetypeChangeInfo) -> Self { method from (line 260) | fn from(i: anki_proto::notetypes::ChangeNotetypeRequest) -> Self { function from (line 289) | fn from(i: ChangeNotetypeInput) -> Self { method from (line 313) | fn from(ntid: anki_proto::notetypes::NotetypeId) -> Self { function from (line 319) | fn from(ntid: NotetypeId) -> Self { FILE: rslib/src/notetype/stock.rs method add_stock_notetypes (line 22) | pub(crate) fn add_stock_notetypes(&self, tr: &I18n) -> Result<()> { function all_stock_notetypes (line 41) | pub fn all_stock_notetypes(tr: &I18n) -> Vec { function fieldref (line 53) | fn fieldref>(name: S) -> String { function empty_stock (line 58) | pub(crate) fn empty_stock( function get_stock_notetype (line 78) | pub(crate) fn get_stock_notetype(kind: StockKind, tr: &I18n) -> Notetype { function get_original_stock_notetype (line 89) | pub(crate) fn get_original_stock_notetype(kind: OriginalStockKind, tr: &... function basic (line 101) | pub(crate) fn basic(tr: &I18n) -> Notetype { function basic_typing (line 123) | pub(crate) fn basic_typing(tr: &I18n) -> Notetype { function basic_forward_reverse (line 139) | pub(crate) fn basic_forward_reverse(tr: &I18n) -> Notetype { function basic_optional_reverse (line 157) | pub(crate) fn basic_optional_reverse(tr: &I18n) -> Notetype { function cloze (line 168) | pub(crate) fn cloze(tr: &I18n) -> Notetype { FILE: rslib/src/notetype/templates.rs type CardTemplate (line 10) | pub struct CardTemplate { method parsed_question (line 19) | pub(crate) fn parsed_question(&self) -> Option { method parsed_answer (line 23) | pub(crate) fn parsed_answer(&self) -> Option { method parsed_question_format_for_browser (line 27) | pub(crate) fn parsed_question_format_for_browser(&self) -> Option Option &str { method answer_format_for_browser (line 42) | pub(crate) fn answer_format_for_browser(&self) -> &str { method target_deck_id (line 50) | pub(crate) fn target_deck_id(&self) -> Option { method from (line 72) | fn from(t: CardTemplateProto) -> Self { method new (line 84) | pub fn new(name: S1, qfmt: S2, afmt: S3) -> Self method fix_name (line 111) | pub(crate) fn fix_name(&mut self) -> Result<()> { method from (line 60) | fn from(t: CardTemplate) -> Self { FILE: rslib/src/notetype/undo.rs type UndoableNotetypeChange (line 8) | pub(crate) enum UndoableNotetypeChange { method undo_notetype_change (line 15) | pub(crate) fn undo_notetype_change(&mut self, change: UndoableNotetypeCh... method remove_notetype_only_undoable (line 29) | pub(crate) fn remove_notetype_only_undoable(&mut self, notetype: Notetyp... method add_notetype_undoable (line 36) | pub(super) fn add_notetype_undoable( method add_notetype_with_unique_id_undoable (line 46) | pub(crate) fn add_notetype_with_unique_id_undoable( method update_notetype_undoable (line 56) | pub(super) fn update_notetype_undoable( method restore_deleted_notetype (line 67) | fn restore_deleted_notetype(&mut self, notetype: Notetype) -> Result<()> { FILE: rslib/src/ops.rs type Op (line 7) | pub enum Op { method describe (line 56) | pub fn describe(&self, tr: &I18n) -> String { type StateChanges (line 107) | pub struct StateChanges { type OpChanges (line 119) | pub struct OpChanges { method had_change (line 144) | pub fn had_change(&self) -> bool { method requires_browser_table_redraw (line 153) | pub fn requires_browser_table_redraw(&self) -> bool { method requires_browser_sidebar_redraw (line 158) | pub fn requires_browser_sidebar_redraw(&self) -> bool { method requires_note_text_redraw (line 163) | pub fn requires_note_text_redraw(&self) -> bool { method requires_study_queue_rebuild (line 168) | pub fn requires_study_queue_rebuild(&self) -> bool { type OpOutput (line 125) | pub struct OpOutput { function map (line 131) | pub(crate) fn map(self, func: F) -> OpOutput FILE: rslib/src/preferences.rs method get_preferences (line 18) | pub fn get_preferences(&self) -> Result { method set_preferences (line 27) | pub fn set_preferences(&mut self, prefs: Preferences) -> Result Result<()> { method get_scheduling_preferences (line 49) | pub fn get_scheduling_preferences(&self) -> Result { method set_scheduling_preferences (line 63) | pub(crate) fn set_scheduling_preferences(&mut self, settings: Scheduling... method get_reviewing_preferences (line 92) | pub fn get_reviewing_preferences(&self) -> Result { method set_reviewing_preferences (line 107) | pub(crate) fn set_reviewing_preferences(&mut self, settings: Reviewing) ... method get_editing_preferences (line 131) | pub fn get_editing_preferences(&self) -> Result { method set_editing_preferences (line 143) | pub(crate) fn set_editing_preferences(&mut self, settings: Editing) -> R... FILE: rslib/src/progress.rs type ThrottlingProgressHandler (line 34) | pub struct ThrottlingProgressHandler + Default> { function new (line 41) | pub(crate) fn new(shared_state: Arc>) -> Self { function set (line 58) | pub(crate) fn set(&mut self, progress: P) -> Result<()> { function update (line 63) | pub(crate) fn update(&mut self, throttle: bool, mutator: impl FnOnce(&mu... function check_cancelled (line 83) | pub(crate) fn check_cancelled(&mut self) -> Result<()> { function increment (line 89) | pub(crate) fn increment(&mut self, accessor: impl Fn(&mut P) -> &mut usi... function incrementor (line 100) | pub(crate) fn incrementor<'inc, 'progress: 'inc, 'map: 'inc>( function media_db_fn (line 108) | pub(crate) fn media_db_fn( type ProgressState (line 120) | pub struct ProgressState { method reset (line 126) | pub fn reset(&mut self) { type Progress (line 133) | pub enum Progress { method from (line 265) | fn from(p: FullSyncProgress) -> Self { method from (line 271) | fn from(p: MediaSyncProgress) -> Self { method from (line 277) | fn from(p: MediaCheckProgress) -> Self { method from (line 283) | fn from(p: NormalSyncProgress) -> Self { method from (line 289) | fn from(p: DatabaseCheckProgress) -> Self { method from (line 295) | fn from(p: ImportProgress) -> Self { method from (line 301) | fn from(p: ExportProgress) -> Self { method from (line 307) | fn from(p: ComputeParamsProgress) -> Self { method from (line 313) | fn from(p: ComputeRetentionProgress) -> Self { method from (line 319) | fn from(p: ComputeMemoryProgress) -> Self { function progress_to_proto (line 146) | pub(crate) fn progress_to_proto( function media_sync_progress (line 252) | fn media_sync_progress(p: MediaSyncProgress, tr: &I18n) -> anki_proto::s... method new_progress_handler (line 325) | pub fn new_progress_handler + Default + Clone>( method clear_progress (line 331) | pub(crate) fn clear_progress(&mut self) { type Incrementor (line 336) | pub(crate) struct Incrementor<'f, F: 'f + FnMut(usize) -> Result<()>> { function new (line 344) | fn new(update_fn: F) -> Self { function increment (line 355) | pub(crate) fn increment(&mut self) -> Result<()> { function count (line 363) | pub(crate) fn count(&self) -> usize { FILE: rslib/src/revlog/mod.rs method new (line 20) | pub fn new() -> Self { method as_secs (line 24) | pub fn as_secs(self) -> TimestampSecs { method from (line 30) | fn from(m: TimestampMillis) -> Self { type RevlogEntry (line 36) | pub struct RevlogEntry { method interval_secs (line 79) | pub(crate) fn interval_secs(&self) -> u32 { method last_interval_secs (line 88) | pub(crate) fn last_interval_secs(&self) -> u32 { method is_reset (line 103) | pub(crate) fn is_reset(&self) -> bool { method is_cramming (line 115) | pub(crate) fn is_cramming(&self) -> bool { method has_rating (line 119) | pub(crate) fn has_rating(&self) -> bool { method has_rating_and_affects_scheduling (line 126) | pub(crate) fn has_rating_and_affects_scheduling(&self) -> bool { type RevlogReviewKind (line 65) | pub enum RevlogReviewKind { method log_manually_scheduled_review (line 136) | pub(crate) fn log_manually_scheduled_review( method log_rescheduled_review (line 146) | pub(crate) fn log_rescheduled_review( method log_scheduled_review (line 155) | fn log_scheduled_review( FILE: rslib/src/revlog/undo.rs type UndoableRevlogChange (line 8) | pub(crate) enum UndoableRevlogChange { method undo_revlog_change (line 14) | pub(crate) fn undo_revlog_change(&mut self, change: UndoableRevlogChange... method add_revlog_entry_undoable (line 30) | pub(crate) fn add_revlog_entry_undoable(&mut self, mut entry: RevlogEntr... method add_revlog_entry_if_unique_undoable (line 38) | pub(crate) fn add_revlog_entry_if_unique_undoable(&mut self, entry: Revl... FILE: rslib/src/scheduler/answering/current.rs method current_card_state (line 19) | pub(crate) fn current_card_state(&self) -> CardState { method normal_study_state (line 62) | fn normal_study_state(&self, due: i32) -> NormalState { FILE: rslib/src/scheduler/answering/learning.rs method apply_new_state (line 18) | pub(super) fn apply_new_state( method apply_learning_state (line 40) | pub(super) fn apply_learning_state( method fuzzed_next_learning_timestamp (line 78) | pub(super) fn fuzzed_next_learning_timestamp(&self, secs: u32) -> i32 { method learning_ivl_with_fuzz (line 83) | pub(super) fn learning_ivl_with_fuzz(&self, input_seed: Option, sec... FILE: rslib/src/scheduler/answering/mod.rs type Rating (line 41) | pub enum Rating { method as_number (line 217) | fn as_number(self) -> u8 { type CardAnswer (line 48) | pub struct CardAnswer { method cap_answer_secs (line 60) | fn cap_answer_secs(&mut self, max_secs: u32) { type CardStateUpdater (line 67) | struct CardStateUpdater { method state_context (line 86) | pub(crate) fn state_context<'a>( method learn_steps (line 122) | fn learn_steps(&self) -> LearningSteps<'_> { method relearn_steps (line 126) | fn relearn_steps(&self) -> LearningSteps<'_> { method secs_until_rollover (line 130) | fn secs_until_rollover(&self) -> u32 { method into_card (line 134) | fn into_card(self) -> Card { method apply_study_state (line 138) | fn apply_study_state( method apply_normal_study_state (line 178) | fn apply_normal_study_state( method ensure_filtered (line 200) | fn ensure_filtered(&self) -> Result<()> { type PreviewDelays (line 210) | pub(crate) struct PreviewDelays { method get_scheduling_states (line 229) | pub fn get_scheduling_states(&mut self, cid: CardId) -> Result Re... method answer_card (line 310) | pub fn answer_card(&mut self, answer: &mut CardAnswer) -> Result R... method maybe_bury_siblings (line 389) | fn maybe_bury_siblings(&mut self, card: &Card, config: &DeckConfig) -> R... method add_partial_revlog (line 397) | fn add_partial_revlog( method update_deck_stats_from_answer (line 414) | fn update_deck_stats_from_answer( method card_state_updater (line 440) | fn card_state_updater(&mut self, mut card: Card) -> Result Result<()> { method set_elapsed_secs_equal (line 554) | fn set_elapsed_secs_equal(&self, current_state: &CardState, answer_state... type PostAnswerState (line 588) | pub struct PostAnswerState { method answer_again (line 594) | pub(crate) fn answer_again(&mut self) -> PostAnswerState { method answer_hard (line 599) | pub(crate) fn answer_hard(&mut self) -> PostAnswerState { method answer_good (line 603) | pub(crate) fn answer_good(&mut self) -> PostAnswerState { method answer_easy (line 607) | pub(crate) fn answer_easy(&mut self) -> PostAnswerState { method answer (line 611) | fn answer(&mut self, get_state: F, rating: Rating) -> Result Option { function get_fuzz_seed (line 646) | pub(crate) fn get_fuzz_seed(card: &Card, for_reschedule: bool) -> Option... function get_fuzz_seed_for_id_and_reps (line 656) | fn get_fuzz_seed_for_id_and_reps(card_id: CardId, card_reps: u32) -> Opt... function get_fuzz_factor (line 666) | fn get_fuzz_factor(seed: Option) -> Option { function current_state (line 677) | fn current_state(col: &mut Collection, card_id: CardId) -> CardState { function deck_specific_desired_retention (line 683) | fn deck_specific_desired_retention() -> Result<()> { function state_application (line 721) | fn state_application() -> Result<()> { function v3_test_collection (line 829) | pub(crate) fn v3_test_collection(cards: usize) -> Result<(Collection, Ve... function new_limited_by_reviews (line 855) | fn new_limited_by_reviews() -> Result<()> { function elapsed_secs (line 881) | fn elapsed_secs() -> Result<()> { function assert_elapsed_secs_approx_equal (line 952) | fn assert_elapsed_secs_approx_equal( FILE: rslib/src/scheduler/answering/preview.rs method apply_preview_state (line 12) | pub(super) fn apply_preview_state( function preview (line 51) | fn preview() -> Result<()> { FILE: rslib/src/scheduler/answering/relearning.rs method apply_relearning_state (line 13) | pub(super) fn apply_relearning_state( FILE: rslib/src/scheduler/answering/review.rs method apply_review_state (line 12) | pub(super) fn apply_review_state( FILE: rslib/src/scheduler/answering/revlog.rs type RevlogEntryPartial (line 10) | pub struct RevlogEntryPartial { method new (line 18) | pub(super) fn new( method into_revlog_entry (line 35) | pub(super) fn into_revlog_entry( FILE: rslib/src/scheduler/bury_and_suspend.rs method restore_queue_after_bury_or_suspend (line 18) | pub(crate) fn restore_queue_after_bury_or_suspend(&mut self) -> bool { method unbury_if_day_rolled_over (line 32) | pub(crate) fn unbury_if_day_rolled_over(&mut self, timing: SchedTimingTo... method unbury_on_day_rollover (line 44) | pub(crate) fn unbury_on_day_rollover(&mut self, today: u32) -> Result<()> { method unsuspend_or_unbury_searched_cards (line 53) | fn unsuspend_or_unbury_searched_cards(&mut self, cards: Vec) -> Re... method unbury_or_unsuspend_cards (line 64) | pub fn unbury_or_unsuspend_cards(&mut self, cids: &[CardId]) -> Result ... method bury_or_suspend_cards_inner (line 85) | fn bury_or_suspend_cards_inner( method bury_or_suspend_cards (line 117) | pub fn bury_or_suspend_cards( method bury_siblings (line 132) | pub(crate) fn bury_siblings( method exclude_earlier_gathered_queues (line 148) | fn exclude_earlier_gathered_queues(&mut self, queue: CardQueue) { method gather_ord (line 155) | fn gather_ord(self) -> u8 { function unbury (line 176) | fn unbury() { FILE: rslib/src/scheduler/congrats.rs type CongratsInfo (line 7) | pub(crate) struct CongratsInfo { method congrats_info (line 17) | pub fn congrats_info(&mut self) -> Result DeckId { method remove_from_filtered_deck_restoring_queue (line 64) | pub(crate) fn remove_from_filtered_deck_restoring_queue(&mut self) { method is_filtered (line 84) | pub(crate) fn is_filtered(&self) -> bool { FILE: rslib/src/scheduler/filtered/custom_study.rs method custom_study (line 28) | pub fn custom_study( method custom_study_defaults (line 35) | pub fn custom_study_defaults( method custom_study_inner (line 100) | fn custom_study_inner( method create_custom_study_deck (line 162) | fn create_custom_study_deck(&mut self, config: FilteredDeck) -> Result<(... function custom_study_config (line 197) | fn custom_study_config( function forgot_config (line 218) | fn forgot_config(deck_name: String, days: u32) -> FilteredDeck { function ahead_config (line 228) | fn ahead_config(deck_name: String, days: u32) -> FilteredDeck { function preview_config (line 238) | fn preview_config(deck_name: String, days: u32) -> FilteredDeck { function cram_config (line 246) | fn cram_config(deck_name: String, cram: &Cram) -> Result { function tags_to_nodes (line 279) | fn tags_to_nodes(tags_to_include: &[String], tags_to_exclude: &[String])... function tag_remembering (line 304) | fn tag_remembering() -> Result<()> { function sql_grouping (line 387) | fn sql_grouping() -> Result<()> { FILE: rslib/src/scheduler/filtered/mod.rs type FilteredDeckForUpdate (line 21) | pub struct FilteredDeckForUpdate { type Error (line 237) | type Error = AnkiError; method try_from (line 239) | fn try_from(value: Deck) -> Result { type DeckFilterContext (line 28) | pub(crate) struct DeckFilterContext<'a> { method get_or_create_filtered_deck (line 38) | pub fn get_or_create_filtered_deck( method add_or_update_filtered_deck (line 56) | pub fn add_or_update_filtered_deck( method empty_filtered_deck (line 65) | pub fn empty_filtered_deck(&mut self, did: DeckId) -> Result Result Result<()> { method build_filtered_deck (line 103) | fn build_filtered_deck(&mut self, ctx: DeckFilterContext) -> Result NativeDeckName { method add_or_update_filtered_deck_inner (line 150) | fn add_or_update_filtered_deck_inner( method rebuild_filtered_deck_inner (line 188) | fn rebuild_filtered_deck_inner(&mut self, deck: &Deck, usn: Usn) -> Resu... method new_filtered_deck_for_adding (line 206) | fn new_filtered_deck_for_adding(&mut self) -> Result { function apply_update_to_filtered_deck (line 253) | fn apply_update_to_filtered_deck(deck: &mut Deck, update: FilteredDeckFo... FILE: rslib/src/scheduler/fsrs/error.rs method from (line 10) | fn from(err: FSRSError) -> Self { FILE: rslib/src/scheduler/fsrs/memory_state.rs type ComputeMemoryProgress (line 30) | pub struct ComputeMemoryProgress { function get_decay_from_params (line 37) | pub(crate) fn get_decay_from_params(params: &[f32]) -> f32 { type UpdateMemoryStateRequest (line 48) | pub(crate) struct UpdateMemoryStateRequest { type UpdateMemoryStateEntry (line 57) | pub(crate) struct UpdateMemoryStateEntry { type ChunkIntoVecs (line 63) | trait ChunkIntoVecs { method chunk_into_vecs (line 64) | fn chunk_into_vecs(&mut self, chunk_size: usize) -> impl Iterator impl Iterator Result Result HashMap, expected: Option Result<()> { function zero_history_is_handled (line 654) | fn zero_history_is_handled() -> Result<()> { function no_req_clears_fsrs_data (line 683) | fn no_req_clears_fsrs_data() -> Result<()> { FILE: rslib/src/scheduler/fsrs/params.rs type Params (line 34) | pub(crate) type Params = Vec; function ignore_revlogs_before_date_to_ms (line 36) | pub(crate) fn ignore_revlogs_before_date_to_ms( function ignore_revlogs_before_ms_from_config (line 50) | pub(crate) fn ignore_revlogs_before_ms_from_config(config: &DeckConfig) ... type ComputeParamsRequest (line 54) | pub struct ComputeParamsRequest<'t> { function log_loss_adjustment (line 65) | fn log_loss_adjustment(r: f32) -> f32 { function rmse_adjustment (line 72) | fn rmse_adjustment(r: f32, c: u32) -> f32 { method compute_params (line 80) | pub fn compute_params( method revlog_for_srs (line 207) | pub(crate) fn revlog_for_srs( method export_dataset (line 225) | pub fn export_dataset(&mut self, min_entries: usize, target_path: &Path)... method evaluate_params (line 274) | pub fn evaluate_params( method evaluate_params_legacy (line 303) | pub fn evaluate_params_legacy( type ComputeParamsProgress (line 332) | pub struct ComputeParamsProgress { function fsrs_items_for_training (line 343) | fn fsrs_items_for_training( type ReviewsForFsrs (line 369) | pub(crate) struct ReviewsForFsrs { function reviews_for_fsrs (line 386) | pub(crate) fn reviews_for_fsrs( method days_elapsed (line 529) | fn days_elapsed(&self, next_day_at: TimestampSecs) -> u32 { function revlog_entry_to_proto (line 534) | fn revlog_entry_to_proto(e: RevlogEntry) -> anki_proto::stats::RevlogEnt... constant NEXT_DAY_AT (line 559) | const NEXT_DAY_AT: TimestampSecs = TimestampSecs(86400 * 1000); function days_ago_ms (line 561) | fn days_ago_ms(days_ago: i64) -> TimestampMillis { function revlog (line 565) | pub(crate) fn revlog(review_kind: RevlogReviewKind, days_ago: i64) -> Re... function review (line 579) | pub(crate) fn review(delta_t: u32) -> FSRSReview { function convert_ignore_before (line 583) | pub(crate) fn convert_ignore_before( function convert (line 592) | pub(crate) fn convert(revlog: &[RevlogEntry], training: bool) -> Option<... function delta_t_is_correct (line 610) | fn delta_t_is_correct() -> Result<()> { function cram_is_filtered (line 651) | fn cram_is_filtered() { function set_due_date_is_filtered (line 667) | fn set_due_date_is_filtered() { function card_reset_drops_all_previous_history (line 686) | fn card_reset_drops_all_previous_history() { function single_learning_step_skipped_when_training (line 759) | fn single_learning_step_skipped_when_training() { function ignores_cards_before_ignore_before_date_when_training (line 771) | fn ignores_cards_before_ignore_before_date_when_training() { function partially_ignored_learning_steps_terminate_training (line 795) | fn partially_ignored_learning_steps_terminate_training() { function skip_initial_relearning_steps (line 808) | fn skip_initial_relearning_steps() { function ignore_before_date_between_learning_steps_when_reviewing (line 830) | fn ignore_before_date_between_learning_steps_when_reviewing() { function handle_ignore_before_when_no_learning_steps (line 858) | fn handle_ignore_before_when_no_learning_steps() { function ignore_before_after_last_revlog_entry (line 877) | fn ignore_before_after_last_revlog_entry() { FILE: rslib/src/scheduler/fsrs/rescheduler.rs type Rescheduler (line 15) | pub struct Rescheduler { method new (line 25) | pub fn new(col: &mut Collection) -> Result { method update_due_cnt_per_day (line 81) | pub fn update_due_cnt_per_day( method due_today (line 104) | fn due_today(&self, deck_config_id: DeckConfigId) -> usize { method reviewed_today (line 108) | fn reviewed_today(&self, deck_config_id: DeckConfigId) -> usize { method find_interval (line 115) | pub fn find_interval( FILE: rslib/src/scheduler/fsrs/retention.rs type ComputeRetentionProgress (line 12) | pub struct ComputeRetentionProgress { method compute_optimal_retention (line 18) | pub fn compute_optimal_retention(&mut self, req: SimulateFsrsReviewReque... method get_optimal_retention_parameters (line 42) | pub fn get_optimal_retention_parameters( function from (line 54) | fn from(kind: crate::revlog::RevlogReviewKind) -> Self { function from (line 67) | fn from(entry: crate::revlog::RevlogEntry) -> Self { FILE: rslib/src/scheduler/fsrs/simulator.rs function apply_load_balance_and_easy_days (line 35) | pub(crate) fn apply_load_balance_and_easy_days( function create_review_priority_fn (line 82) | fn create_review_priority_fn( function is_included_card (line 124) | pub(crate) fn is_included_card(c: &Card) -> bool { method simulate_request_to_config (line 131) | pub fn simulate_request_to_config( method simulate_review (line 249) | pub fn simulate_review( method simulate_workload (line 277) | pub fn simulate_workload( method convert (line 312) | pub(crate) fn convert( FILE: rslib/src/scheduler/fsrs/try_collect.rs type TryCollect (line 10) | pub(crate) trait TryCollect: ExactSizeIterator { method try_collect (line 11) | fn try_collect(self) -> Result<[Self::Item; N], AnkiEr... method try_collect (line 22) | fn try_collect(self) -> Result<[T; N], AnkiError> { FILE: rslib/src/scheduler/mod.rs type SchedulerInfo (line 29) | pub struct SchedulerInfo { method scheduler_info (line 35) | pub fn scheduler_info(&mut self) -> Result { method timing_today (line 50) | pub fn timing_today(&mut self) -> Result { method current_due_day (line 54) | pub fn current_due_day(&mut self, delta: i32) -> Result { method timing_for_timestamp (line 58) | pub(crate) fn timing_for_timestamp(&mut self, now: TimestampSecs) -> Res... method local_utc_offset_for_user (line 90) | pub(crate) fn local_utc_offset_for_user(&mut self) -> Result { method creation_utc_offset (line 112) | fn creation_utc_offset(&self) -> Option { method rollover_for_current_scheduler (line 117) | pub fn rollover_for_current_scheduler(&self) -> Result { method set_rollover_for_current_scheduler (line 124) | pub(crate) fn set_rollover_for_current_scheduler(&mut self, hour: u8) ->... method set_creation_stamp (line 131) | pub(crate) fn set_creation_stamp(&mut self, stamp: TimestampSecs) -> Res... FILE: rslib/src/scheduler/new.rs method original_or_current_due (line 24) | pub(crate) fn original_or_current_due(&self) -> i32 { method last_position (line 32) | pub(crate) fn last_position(&self) -> Option { method schedule_as_new (line 42) | pub(crate) fn schedule_as_new( method set_new_position (line 66) | fn set_new_position(&mut self, position: u32) -> bool { type NewCardSorter (line 82) | pub(crate) struct NewCardSorter { method new (line 94) | pub(crate) fn new( method position (line 111) | pub(crate) fn position(&self, card: &Card) -> u32 { type NewCardDueOrder (line 87) | pub enum NewCardDueOrder { method from (line 303) | fn from(o: NewCardInsertOrder) -> Self { function nids_in_desired_order (line 119) | fn nids_in_desired_order(cards: &[Card], order: NewCardDueOrder) -> Vec<... function nids_in_preserved_order (line 138) | fn nids_in_preserved_order(cards: &[Card]) -> Vec { method reschedule_cards_as_new (line 153) | pub fn reschedule_cards_as_new( method reschedule_cards_as_new_defaults (line 193) | pub fn reschedule_cards_as_new_defaults( method sort_cards (line 209) | pub fn sort_cards( method sort_cards_inner (line 228) | fn sort_cards_inner( method reposition_defaults (line 256) | pub fn reposition_defaults(&self) -> RepositionDefaultsResponse { method sort_deck_legacy (line 265) | pub fn sort_deck_legacy(&mut self, deck: DeckId, random: bool) -> Result... method sort_deck (line 279) | pub(crate) fn sort_deck( method shift_existing_cards (line 292) | fn shift_existing_cards(&mut self, start: u32, by: u32, usn: Usn) -> Res... function new_order (line 316) | fn new_order() { function last_position (line 350) | fn last_position() { function scheduling_as_new (line 374) | fn scheduling_as_new() { FILE: rslib/src/scheduler/queue/builder/burying.rs type DueOrNewCard (line 12) | pub(super) enum DueOrNewCard { method original_deck_id (line 18) | fn original_deck_id(&self) -> DeckId { method note_id (line 25) | fn note_id(&self) -> NoteId { method from (line 34) | fn from(card: DueCard) -> DueOrNewCard { method from (line 40) | fn from(card: NewCard) -> DueOrNewCard { method bury_mode (line 46) | pub(super) fn bury_mode(&self, deck_id: DeckId) -> BuryMode { method from_deck_config (line 57) | pub(crate) fn from_deck_config(config: &DeckConfig) -> BuryMode { method any_burying (line 66) | pub(crate) fn any_burying(self) -> bool { method get_and_update_bury_mode_for_note (line 75) | pub(super) fn get_and_update_bury_mode_for_note( FILE: rslib/src/scheduler/queue/builder/gathering.rs method gather_cards (line 14) | pub(super) fn gather_cards(&mut self, col: &mut Collection) -> Result<()> { method gather_intraday_learning_cards (line 23) | fn gather_intraday_learning_cards(&mut self, col: &mut Collection) -> Re... method gather_due_cards (line 35) | fn gather_due_cards(&mut self, col: &mut Collection, kind: DueCardKind) ... method gather_new_cards (line 63) | fn gather_new_cards(&mut self, col: &mut Collection) -> Result<()> { method gather_new_cards_by_deck (line 87) | fn gather_new_cards_by_deck( method gather_new_cards_sorted (line 113) | fn gather_new_cards_sorted( method add_due_card (line 136) | fn add_due_card(&mut self, card: DueCard) -> bool { method add_new_card (line 157) | fn add_new_card(&mut self, card: NewCard) -> bool { method knuth_salt (line 173) | fn knuth_salt(base_salt: u32) -> u32 { FILE: rslib/src/scheduler/queue/builder/intersperser.rs type Intersperser (line 5) | pub(crate) struct Intersperser function new (line 23) | pub fn new(one: I, two: I2) -> Self { function one_idx (line 38) | fn one_idx(&self) -> Option { function two_idx (line 46) | fn two_idx(&self) -> Option { function next_one (line 54) | fn next_one(&mut self) -> Option { function next_two (line 59) | fn next_two(&mut self) -> Option { type Item (line 70) | type Item = I::Item; method next (line 72) | fn next(&mut self) -> Option { method size_hint (line 88) | fn size_hint(&self) -> (usize, Option) { function intersperse (line 105) | fn intersperse(a: &[u32], b: &[u32]) -> Vec { function interspersing (line 110) | fn interspersing() { FILE: rslib/src/scheduler/queue/builder/mod.rs type DueCard (line 33) | pub(crate) struct DueCard { type DueCardKind (line 44) | pub(crate) enum DueCardKind { type NewCard (line 51) | pub(crate) struct NewCard { method from (line 62) | fn from(c: DueCard) -> Self { method from (line 75) | fn from(c: NewCard) -> Self { method from (line 85) | fn from(c: DueCard) -> Self { type QueueSortOptions (line 95) | pub(super) struct QueueSortOptions { type QueueBuilder (line 104) | pub(super) struct QueueBuilder { method new (line 127) | pub(super) fn new(col: &mut Collection, deck_id: DeckId) -> Result CardQueues { type Context (line 116) | struct Context { function sort_options (line 229) | fn sort_options(deck: &Deck, config_map: &HashMap) -> VecDeque Result Vec<(DeckId... method set_deck_review_order (line 341) | fn set_deck_review_order(&mut self, deck: &mut Deck, order: ReviewCardOr... method queue_as_due_and_ivl (line 349) | fn queue_as_due_and_ivl(&mut self, deck_id: DeckId) -> Vec<(i32, u32)> { function should_build_empty_queue_if_limit_is_reached (line 362) | fn should_build_empty_queue_if_limit_is_reached() { function new_queue_building (line 370) | fn new_queue_building() -> Result<()> { function review_queue_building (line 432) | fn review_queue_building() -> Result<()> { method card_queue_len (line 479) | fn card_queue_len(&mut self) -> usize { function new_card_potentially_burying_review_card (line 485) | fn new_card_potentially_burying_review_card() { function new_cards_may_ignore_review_limit (line 508) | fn new_cards_may_ignore_review_limit() { function reviews_dont_affect_new_limit_before_review_limit_is_reached (line 522) | fn reviews_dont_affect_new_limit_before_review_limit_is_reached() { function may_apply_parent_limits (line 532) | fn may_apply_parent_limits() { FILE: rslib/src/scheduler/queue/builder/sized_chain.rs type SizedChain (line 6) | pub(crate) struct SizedChain { function new (line 20) | pub fn new(one: I, two: I2) -> Self { type Item (line 39) | type Item = I::Item; method next (line 41) | fn next(&mut self) -> Option { method size_hint (line 53) | fn size_hint(&self) -> (usize, Option) { function chain (line 70) | fn chain(a: &[u32], b: &[u32]) -> Vec { function sized_chain (line 75) | fn sized_chain() { FILE: rslib/src/scheduler/queue/builder/sorting.rs method sort_new (line 14) | pub(super) fn sort_new(&mut self) { method hash_new_cards_by_id (line 38) | fn hash_new_cards_by_id(&mut self) { method hash_new_cards_by_note_id (line 44) | fn hash_new_cards_by_note_id(&mut self) { function cmp_hash (line 51) | fn cmp_hash(a: &NewCard, b: &NewCard) -> Ordering { function cmp_template_then_hash (line 55) | fn cmp_template_then_hash(a: &NewCard, b: &NewCard) -> Ordering { function cmp_hash_then_template (line 59) | fn cmp_hash_then_template(a: &NewCard, b: &NewCard) -> Ordering { method hash_id_with_salt (line 68) | fn hash_id_with_salt(&mut self, salt: i64) { method hash_note_id_with_salt (line 75) | fn hash_note_id_with_salt(&mut self, salt: i64) { FILE: rslib/src/scheduler/queue/entry.rs type QueueEntry (line 11) | pub(crate) enum QueueEntry { method card_id (line 17) | pub fn card_id(&self) -> CardId { method mtime (line 24) | pub fn mtime(&self) -> TimestampSecs { method kind (line 31) | pub fn kind(&self) -> QueueEntryKind { method from (line 51) | fn from(card: &Card) -> Self { method from (line 75) | fn from(e: LearningQueueEntry) -> Self { method from (line 81) | fn from(e: MainQueueEntry) -> Self { method from (line 87) | fn from(e: &LearningQueueEntry) -> Self { method from (line 93) | fn from(e: &MainQueueEntry) -> Self { type QueueEntryKind (line 44) | pub enum QueueEntryKind { FILE: rslib/src/scheduler/queue/learning.rs type LearningQueueEntry (line 10) | pub(crate) struct LearningQueueEntry { method intraday_now_iter (line 19) | pub(super) fn intraday_now_iter(&self) -> impl Iterator impl Iterator CutoffSnaps... method maybe_requeue_learning_card (line 60) | pub(super) fn maybe_requeue_learning_card( method cutoff_snapshot (line 79) | pub(super) fn cutoff_snapshot(&self) -> Box { method restore_cutoff (line 86) | pub(super) fn restore_cutoff(&mut self, change: &CutoffSnapshot) -> Box<... method requeue_learning_entry (line 94) | pub(super) fn requeue_learning_entry( method learning_collapsed (line 115) | fn learning_collapsed(&self) -> bool { method pop_intraday_learning (line 120) | pub(super) fn pop_intraday_learning(&mut self) -> Option TimestampSecs { FILE: rslib/src/scheduler/queue/main.rs type MainQueueEntry (line 8) | pub(crate) struct MainQueueEntry { type MainQueueEntryKind (line 15) | pub(crate) enum MainQueueEntryKind { method pop_main (line 23) | pub(super) fn pop_main(&mut self) -> Option { method push_main (line 39) | pub(super) fn push_main(&mut self, entry: MainQueueEntry) { FILE: rslib/src/scheduler/queue/mod.rs type CardQueues (line 30) | pub(crate) struct CardQueues { method iter (line 152) | fn iter(&self) -> impl Iterator + '_ { method pop_entry (line 161) | fn pop_entry(&mut self, id: CardId) -> Result { method push_undo_entry (line 180) | fn push_undo_entry(&mut self, entry: QueueEntry) { method counts (line 190) | pub(crate) fn counts(&mut self) -> Counts { method is_stale (line 198) | fn is_stale(&self, current_day: u32) -> bool { type Counts (line 45) | pub struct Counts { method all_zero (line 52) | fn all_zero(self) -> bool { type QueuedCard (line 58) | pub struct QueuedCard { type QueuedCards (line 66) | pub struct QueuedCards { type BuryMode (line 76) | pub(crate) struct BuryMode { method get_next_card (line 83) | pub fn get_next_card(&mut self) -> Result> { method get_queued_cards (line 88) | pub fn get_queued_cards( function new_scheduling_context (line 139) | fn new_scheduling_context(col: &mut Collection, card: &Card) -> Result Result<&mut CardQueues> { method get_or_invalidate_queues (line 258) | pub(crate) fn get_or_invalidate_queues( method clear_queues_if_day_changed (line 277) | fn clear_queues_if_day_changed(&mut self) -> Result<()> { method counts (line 296) | pub(crate) fn counts(&mut self) -> [usize; 3] { FILE: rslib/src/scheduler/queue/undo.rs type UndoableQueueChange (line 9) | pub(crate) enum UndoableQueueChange { type QueueUpdate (line 15) | pub(crate) struct QueueUpdate { type CutoffSnapshot (line 25) | pub(crate) struct CutoffSnapshot { method undo_queue_change (line 31) | pub(crate) fn undo_queue_change(&mut self, change: UndoableQueueChange) ... method save_queue_update_undo (line 74) | pub(super) fn save_queue_update_undo(&mut self, change: Box) { function add_note (line 86) | fn add_note(col: &mut Collection, with_reverse: bool) -> Result { function undo (line 100) | fn undo() -> Result<()> { function undo_counts (line 208) | fn undo_counts() -> Result<()> { function redo_after_queue_invalidation_bug (line 261) | fn redo_after_queue_invalidation_bug() -> Result<()> { FILE: rslib/src/scheduler/reviews.rs method set_due_date (line 28) | fn set_due_date( method schedule_as_review (line 64) | fn schedule_as_review(&mut self, interval: u32, due: i32, ease_factor: u... type DueDateSpecifier (line 80) | pub struct DueDateSpecifier { function parse_due_date_str (line 86) | pub fn parse_due_date_str(s: &str) -> Result { method set_due_date (line 123) | pub fn set_due_date( method grade_now (line 173) | pub fn grade_now(&mut self, cids: &[CardId], rating: i32) -> Result Result<()> { function due_date (line 249) | fn due_date() { FILE: rslib/src/scheduler/service/answering.rs method from (line 13) | fn from(mut answer: anki_proto::scheduler::CardAnswer) -> Self { method from (line 30) | fn from(rating: anki_proto::scheduler::card_answer::Rating) -> Self { function from (line 41) | fn from(queued_card: QueuedCard) -> Self { function from (line 62) | fn from(queued_cards: QueuedCards) -> Self { FILE: rslib/src/scheduler/service/mod.rs method sched_timing_today (line 37) | fn sched_timing_today(&mut self) -> Result Result { method studied_today_message (line 49) | fn studied_today_message( method update_stats (line 56) | fn update_stats(&mut self, input: scheduler::UpdateStatsRequest) -> Resu... method extend_limits (line 64) | fn extend_limits(&mut self, input: scheduler::ExtendLimitsRequest) -> Re... method counts_for_deck_today (line 78) | fn counts_for_deck_today( method congrats_info (line 85) | fn congrats_info(&mut self) -> Result { method restore_buried_and_suspended_cards (line 89) | fn restore_buried_and_suspended_cards( method unbury_deck (line 97) | fn unbury_deck( method bury_or_suspend_cards (line 105) | fn bury_or_suspend_cards( method empty_filtered_deck (line 119) | fn empty_filtered_deck( method rebuild_filtered_deck (line 126) | fn rebuild_filtered_deck( method schedule_cards_as_new (line 133) | fn schedule_cards_as_new( method schedule_cards_as_new_defaults (line 150) | fn schedule_cards_as_new_defaults( method set_due_date (line 160) | fn set_due_date( method grade_now (line 170) | fn grade_now( method sort_cards (line 178) | fn sort_cards( method reposition_defaults (line 199) | fn reposition_defaults(&mut self) -> Result Resul... method answer_card (line 232) | fn answer_card( method upgrade_scheduler (line 239) | fn upgrade_scheduler(&mut self) -> Result<()> { method get_queued_cards (line 243) | fn get_queued_cards( method custom_study (line 251) | fn custom_study( method custom_study_defaults (line 258) | fn custom_study_defaults( method compute_fsrs_params (line 265) | fn compute_fsrs_params( method simulate_fsrs_review (line 280) | fn simulate_fsrs_review( method simulate_fsrs_workload (line 287) | fn simulate_fsrs_workload( method compute_optimal_retention (line 294) | fn compute_optimal_retention( method evaluate_params (line 303) | fn evaluate_params( method evaluate_params_legacy (line 318) | fn evaluate_params_legacy( method get_optimal_retention_parameters (line 333) | fn get_optimal_retention_parameters( method compute_memory_state (line 376) | fn compute_memory_state(&mut self, input: cards::CardId) -> Result Result Result... function fsrs_item_proto_to_fsrs (line 436) | fn fsrs_item_proto_to_fsrs(item: anki_proto::scheduler::FsrsItem) -> FSR... function fsrs_review_proto_to_fsrs (line 446) | fn fsrs_review_proto_to_fsrs(review: anki_proto::scheduler::FsrsReview) ... FILE: rslib/src/scheduler/service/states/filtered.rs function from (line 7) | fn from(state: FilteredState) -> Self { method from (line 24) | fn from(state: anki_proto::scheduler::scheduling_state::Filtered) -> Self { FILE: rslib/src/scheduler/service/states/learning.rs method from (line 7) | fn from(state: anki_proto::scheduler::scheduling_state::Learning) -> Self { function from (line 18) | fn from(state: LearnState) -> Self { FILE: rslib/src/scheduler/service/states/mod.rs function from (line 19) | fn from(choices: SchedulingStates) -> Self { method from (line 31) | fn from(choices: anki_proto::scheduler::SchedulingStates) -> Self { function from (line 43) | fn from(state: CardState) -> Self { method from (line 59) | fn from(state: anki_proto::scheduler::SchedulingState) -> Self { FILE: rslib/src/scheduler/service/states/new.rs method from (line 7) | fn from(state: anki_proto::scheduler::scheduling_state::New) -> Self { function from (line 15) | fn from(state: NewState) -> Self { FILE: rslib/src/scheduler/service/states/normal.rs function from (line 7) | fn from(state: NormalState) -> Self { method from (line 28) | fn from(state: anki_proto::scheduler::scheduling_state::Normal) -> Self { FILE: rslib/src/scheduler/service/states/preview.rs method from (line 7) | fn from(state: anki_proto::scheduler::scheduling_state::Preview) -> Self { function from (line 16) | fn from(state: PreviewState) -> Self { FILE: rslib/src/scheduler/service/states/relearning.rs method from (line 7) | fn from(state: anki_proto::scheduler::scheduling_state::Relearning) -> S... function from (line 16) | fn from(state: RelearnState) -> Self { FILE: rslib/src/scheduler/service/states/rescheduling.rs method from (line 7) | fn from(state: anki_proto::scheduler::scheduling_state::ReschedulingFilt... function from (line 15) | fn from(state: ReschedulingFilterState) -> Self { FILE: rslib/src/scheduler/service/states/review.rs method from (line 7) | fn from(state: anki_proto::scheduler::scheduling_state::Review) -> Self { function from (line 20) | fn from(state: ReviewState) -> Self { FILE: rslib/src/scheduler/states/filtered.rs type FilteredState (line 13) | pub enum FilteredState { method interval_kind (line 19) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 26) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { method next_states (line 33) | pub(crate) fn next_states(self, ctx: &StateContext) -> SchedulingStates { method review_state (line 40) | pub(crate) fn review_state(self) -> Option { FILE: rslib/src/scheduler/states/fuzz.rs type FuzzRange (line 10) | struct FuzzRange { function with_review_fuzz (line 36) | pub(crate) fn with_review_fuzz(&self, interval: f32, minimum: u32, maxim... method get_fuzz_delta (line 48) | pub(crate) fn get_fuzz_delta(&self, card_id: CardId, interval: u32) -> R... function with_review_fuzz (line 65) | pub(crate) fn with_review_fuzz( function constrained_fuzz_bounds (line 82) | pub(crate) fn constrained_fuzz_bounds(interval: f32, minimum: u32, maxim... function fuzz_bounds (line 99) | pub(crate) fn fuzz_bounds(interval: f32) -> (u32, u32) { function fuzz_delta (line 111) | fn fuzz_delta(interval: f32) -> f32 { function with_review_fuzz (line 126) | fn with_review_fuzz() { function invalid_values_will_not_panic (line 178) | fn invalid_values_will_not_panic() { FILE: rslib/src/scheduler/states/interval_kind.rs type IntervalKind (line 5) | pub(crate) enum IntervalKind { method maybe_as_days (line 12) | pub(crate) fn maybe_as_days(self, secs_until_rollover: u32) -> Self { method as_seconds (line 25) | pub(crate) fn as_seconds(self) -> u32 { method as_revlog_interval (line 32) | pub(crate) fn as_revlog_interval(self) -> i32 { FILE: rslib/src/scheduler/states/learning.rs type LearnState (line 13) | pub struct LearnState { method interval_kind (line 21) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 25) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { method next_states (line 29) | pub(crate) fn next_states(self, ctx: &StateContext) -> SchedulingStates { method answer_again (line 39) | fn answer_again(self, ctx: &StateContext) -> CardState { method answer_hard (line 86) | fn answer_hard(self, ctx: &StateContext) -> CardState { method answer_good (line 133) | fn answer_good(self, ctx: &StateContext) -> CardState { method answer_easy (line 180) | fn answer_easy(self, ctx: &StateContext) -> ReviewState { FILE: rslib/src/scheduler/states/load_balancer.rs constant MAX_LOAD_BALANCE_INTERVAL (line 21) | const MAX_LOAD_BALANCE_INTERVAL: usize = 90; constant LOAD_BALANCE_DAYS (line 26) | const LOAD_BALANCE_DAYS: usize = (MAX_LOAD_BALANCE_INTERVAL as f32 * 1.1... constant SIBLING_PENALTY (line 27) | const SIBLING_PENALTY: f32 = 0.001; type EasyDay (line 30) | pub enum EasyDay { method from (line 37) | fn from(other: f32) -> EasyDay { method load_modifier (line 47) | pub(crate) fn load_modifier(&self) -> f32 { type LoadBalancerDay (line 59) | struct LoadBalancerDay { method add (line 65) | fn add(&mut self, cid: CardId, nid: NoteId) { method remove (line 70) | fn remove(&mut self, cid: CardId) { method has_sibling (line 81) | fn has_sibling(&self, nid: &NoteId) -> bool { type LoadBalancerContext (line 86) | pub struct LoadBalancerContext<'a> { function find_interval (line 94) | pub fn find_interval(&self, interval: f32, minimum: u32, maximum: u32) -... function set_fuzz_seed (line 105) | pub fn set_fuzz_seed(mut self, fuzz_seed: Option) -> Self { type LoadBalancer (line 112) | pub struct LoadBalancer { method new (line 121) | pub fn new( method review_context (line 173) | pub fn review_context( method find_interval (line 204) | fn find_interval( method add_card (line 263) | pub fn add_card(&mut self, cid: CardId, nid: NoteId, dcid: DeckConfigI... method remove_card (line 271) | pub fn remove_card(&mut self, cid: CardId) { function parse_easy_days_percentages (line 280) | pub(crate) fn parse_easy_days_percentages(percentages: &[f32]) -> Result... function build_easy_days_percentages (line 296) | pub(crate) fn build_easy_days_percentages( function calculate_easy_days_modifiers (line 320) | pub(crate) fn calculate_easy_days_modifiers( type LoadBalancerInterval (line 355) | pub struct LoadBalancerInterval { function select_weighted_interval (line 362) | pub fn select_weighted_interval( function interval_to_weekday (line 393) | pub(crate) fn interval_to_weekday(interval: u32, next_day_at: TimestampS... FILE: rslib/src/scheduler/states/mod.rs type CardState (line 34) | pub enum CardState { method interval_kind (line 40) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 47) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { method next_states (line 54) | pub(crate) fn next_states(self, ctx: &StateContext) -> SchedulingStates { method review_state (line 62) | pub(crate) fn review_state(self) -> Option { method leeched (line 69) | pub(crate) fn leeched(self) -> bool { method new_position (line 74) | pub(super) fn new_position(&self) -> Option { method from (line 167) | fn from(state: NewState) -> Self { method from (line 173) | fn from(state: ReviewState) -> Self { method from (line 179) | fn from(state: LearnState) -> Self { method from (line 185) | fn from(state: RelearnState) -> Self { method from (line 191) | fn from(state: NormalState) -> Self { method from (line 197) | fn from(state: PreviewState) -> Self { method from (line 203) | fn from(state: ReschedulingFilterState) -> Self { type StateContext (line 86) | pub(crate) struct StateContext<'a> { function min_and_max_review_intervals (line 121) | pub(crate) fn min_and_max_review_intervals(&self, minimum: u32) -> (u32,... function defaults_for_testing (line 128) | pub(crate) fn defaults_for_testing() -> Self { type SchedulingStates (line 158) | pub struct SchedulingStates { function min_and_max_review_intervals (line 213) | fn min_and_max_review_intervals() { FILE: rslib/src/scheduler/states/new.rs type NewState (line 8) | pub struct NewState { method interval_kind (line 13) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 20) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { FILE: rslib/src/scheduler/states/normal.rs type NormalState (line 14) | pub enum NormalState { method interval_kind (line 22) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 31) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { method next_states (line 40) | pub(crate) fn next_states(self, ctx: &StateContext) -> SchedulingStates { method review_state (line 63) | pub(crate) fn review_state(self) -> Option { method leeched (line 72) | pub(crate) fn leeched(self) -> bool { method from (line 78) | fn from(state: NewState) -> Self { method from (line 84) | fn from(state: ReviewState) -> Self { method from (line 90) | fn from(state: LearnState) -> Self { method from (line 96) | fn from(state: RelearnState) -> Self { FILE: rslib/src/scheduler/states/preview_filter.rs type PreviewState (line 11) | pub struct PreviewState { method interval_kind (line 17) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 21) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { method next_states (line 25) | pub(crate) fn next_states(self, ctx: &StateContext) -> SchedulingStates { function delay_or_return (line 36) | fn delay_or_return(seconds: u32) -> CardState { FILE: rslib/src/scheduler/states/relearning.rs type RelearnState (line 13) | pub struct RelearnState { method interval_kind (line 19) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 23) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { method next_states (line 27) | pub(crate) fn next_states(self, ctx: &StateContext) -> SchedulingStates { method answer_again (line 37) | fn answer_again(self, ctx: &StateContext) -> CardState { method answer_hard (line 85) | fn answer_hard(self, ctx: &StateContext) -> CardState { method answer_good (line 133) | fn answer_good(self, ctx: &StateContext) -> CardState { method answer_easy (line 187) | fn answer_easy(self, ctx: &StateContext) -> ReviewState { FILE: rslib/src/scheduler/states/rescheduling_filter.rs type ReschedulingFilterState (line 12) | pub struct ReschedulingFilterState { method interval_kind (line 17) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 21) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { method next_states (line 25) | pub(crate) fn next_states(self, ctx: &StateContext) -> SchedulingStates { function maybe_wrap (line 45) | fn maybe_wrap(state: CardState) -> CardState { FILE: rslib/src/scheduler/states/review.rs constant INITIAL_EASE_FACTOR (line 15) | pub const INITIAL_EASE_FACTOR: f32 = 2.5; constant MINIMUM_EASE_FACTOR (line 16) | pub const MINIMUM_EASE_FACTOR: f32 = 1.3; constant EASE_FACTOR_AGAIN_DELTA (line 17) | pub const EASE_FACTOR_AGAIN_DELTA: f32 = -0.2; constant EASE_FACTOR_HARD_DELTA (line 18) | pub const EASE_FACTOR_HARD_DELTA: f32 = -0.15; constant EASE_FACTOR_EASY_DELTA (line 19) | pub const EASE_FACTOR_EASY_DELTA: f32 = 0.15; type ReviewState (line 22) | pub struct ReviewState { method days_late (line 45) | pub(crate) fn days_late(&self) -> i32 { method interval_kind (line 49) | pub(crate) fn interval_kind(self) -> IntervalKind { method revlog_kind (line 55) | pub(crate) fn revlog_kind(self) -> RevlogReviewKind { method next_states (line 63) | pub(crate) fn next_states(self, ctx: &StateContext) -> SchedulingStates { method failing_review_interval (line 75) | pub(crate) fn failing_review_interval( method answer_again (line 94) | fn answer_again(self, ctx: &StateContext) -> CardState { method answer_hard (line 137) | fn answer_hard(self, scheduled_days: u32, ctx: &StateContext) -> Revie... method answer_good (line 147) | fn answer_good(self, scheduled_days: u32, ctx: &StateContext) -> Revie... method answer_easy (line 156) | fn answer_easy(self, scheduled_days: u32, ctx: &StateContext) -> Revie... method passing_review_intervals (line 168) | fn passing_review_intervals(self, ctx: &StateContext) -> (u32, u32, u3... method passing_fsrs_review_intervals (line 178) | fn passing_fsrs_review_intervals( method passing_nonearly_review_intervals (line 213) | fn passing_nonearly_review_intervals(self, ctx: &StateContext) -> (u32... method passing_early_review_intervals (line 253) | fn passing_early_review_intervals(self, ctx: &StateContext) -> (u32, u... method default (line 32) | fn default() -> Self { function leech_threshold_met (line 287) | fn leech_threshold_met(lapses: u32, threshold: u32) -> bool { function constrain_passing_interval (line 302) | fn constrain_passing_interval(ctx: &StateContext, interval: f32, minimum... function leech_threshold (line 321) | fn leech_threshold() { function extreme_multiplier_fuzz (line 350) | fn extreme_multiplier_fuzz() { function low_hard_multiplier_does_not_pull_good_down (line 378) | fn low_hard_multiplier_does_not_pull_good_down() { FILE: rslib/src/scheduler/states/steps.rs constant DAY (line 4) | const DAY: u32 = 60 * 60 * 24; type LearningSteps (line 7) | pub(crate) struct LearningSteps<'a> { function to_secs (line 12) | fn to_secs(v: f32) -> u32 { function new (line 18) | pub(crate) fn new(steps: &[f32]) -> LearningSteps<'_> { function get_index (line 23) | fn get_index(self, remaining: u32) -> usize { function secs_at_index (line 30) | fn secs_at_index(&self, index: usize) -> Option { function again_delay_secs_learn (line 34) | pub(crate) fn again_delay_secs_learn(&self) -> Option { function hard_delay_secs (line 38) | pub(crate) fn hard_delay_secs(self, remaining: u32) -> Option { function hard_delay_secs_for_first_step (line 55) | fn hard_delay_secs_for_first_step(self, again_secs: u32) -> u32 { function good_delay_secs (line 68) | pub(crate) fn good_delay_secs(self, remaining: u32) -> Option { function current_delay_secs (line 73) | pub(crate) fn current_delay_secs(self, remaining: u32) -> u32 { function remaining_for_good (line 78) | pub(crate) fn remaining_for_good(self, remaining: u32) -> u32 { function remaining_for_failed (line 83) | pub(crate) fn remaining_for_failed(self) -> u32 { function is_empty (line 87) | pub(crate) fn is_empty(&self) -> bool { function maybe_round_in_days (line 95) | fn maybe_round_in_days(secs: u32) -> u32 { function delay_secs (line 117) | fn delay_secs() { function rounding_days (line 138) | fn rounding_days() { FILE: rslib/src/scheduler/timespan.rs function answer_button_time (line 7) | pub fn answer_button_time(seconds: f32, tr: &I18n) -> String { function answer_button_time_collapsible (line 23) | pub fn answer_button_time_collapsible(seconds: u32, collapse_secs: u32, ... function time_span (line 38) | pub fn time_span(seconds: f32, tr: &I18n, precise: bool) -> String { constant SECOND (line 56) | const SECOND: f32 = 1.0; constant MINUTE (line 57) | const MINUTE: f32 = 60.0 * SECOND; constant HOUR (line 58) | const HOUR: f32 = 60.0 * MINUTE; constant DAY (line 59) | const DAY: f32 = 24.0 * HOUR; constant YEAR (line 60) | const YEAR: f32 = 365.0 * DAY; constant MONTH (line 61) | const MONTH: f32 = YEAR / 12.0; type TimespanUnit (line 64) | pub(crate) enum TimespanUnit { method as_str (line 74) | pub fn as_str(self) -> &'static str { type Timespan (line 87) | pub(crate) struct Timespan { method from_secs (line 93) | pub fn from_secs(seconds: f32) -> Self { method as_unit (line 102) | pub fn as_unit(self) -> f32 { method to_unit (line 114) | pub fn to_unit(self, unit: TimespanUnit) -> Timespan { method as_rounded_unit (line 123) | pub fn as_rounded_unit(self) -> f32 { method as_rounded_unit_for_answer_buttons (line 134) | pub fn as_rounded_unit_for_answer_buttons(self) -> f32 { method unit (line 145) | pub fn unit(self) -> TimespanUnit { method natural_span (line 151) | pub fn natural_span(self) -> Timespan { function answer_buttons (line 183) | fn answer_buttons() { function time_spans (line 191) | fn time_spans() { FILE: rslib/src/scheduler/timing.rs type SchedTimingToday (line 13) | pub struct SchedTimingToday { method near_cutoff (line 197) | pub fn near_cutoff(&self) -> bool { function sched_timing_today_v2_new (line 27) | pub fn sched_timing_today_v2_new( function rollover_datetime (line 57) | fn rollover_datetime(date: DateTime, rollover_hour: u8) -> ... function days_elapsed (line 69) | fn days_elapsed( function fixed_offset_from_minutes (line 84) | pub(crate) fn fixed_offset_from_minutes(minutes_west: i32) -> FixedOffset { function local_minutes_west_for_stamp (line 93) | pub fn local_minutes_west_for_stamp(stamp: TimestampSecs) -> Result { function v1_creation_date (line 97) | pub(crate) fn v1_creation_date() -> i64 { function v1_creation_date_inner (line 102) | fn v1_creation_date_inner(now: TimestampSecs, mins_west: i32) -> i64 { function sched_timing_today_v1 (line 115) | fn sched_timing_today_v1(crt: TimestampSecs, now: TimestampSecs) -> Sche... function sched_timing_today_v2_legacy (line 125) | fn sched_timing_today_v2_legacy( function sched_timing_today (line 152) | pub(crate) fn sched_timing_today( function is_unix_epoch_timestamp (line 182) | pub fn is_unix_epoch_timestamp(due: i32) -> bool { constant AEST_MINS_WEST (line 207) | const AEST_MINS_WEST: i32 = -600; function aest_offset (line 209) | fn aest_offset() -> FixedOffset { function fixed_offset (line 214) | fn fixed_offset() { function elap (line 220) | fn elap(start: i64, end: i64, start_west: i32, end_west: i32, rollhour: ... function days_elapsed (line 230) | fn days_elapsed() { function next_day_at (line 350) | fn next_day_at() { function legacy_timing (line 416) | fn legacy_timing() { function legacy_creation_stamp (line 448) | fn legacy_creation_stamp() { FILE: rslib/src/scheduler/upgrade.rs type V1FilteredDeckInfo (line 13) | struct V1FilteredDeckInfo { method upgrade_to_v2 (line 25) | fn upgrade_to_v2(&mut self, filtered_info: Option) { function get_filter_info_for_card (line 62) | fn get_filter_info_for_card( method upgrade_to_v2_scheduler (line 112) | pub(crate) fn upgrade_to_v2_scheduler(&mut self) -> Result<()> { method upgrade_cards_to_v2 (line 131) | fn upgrade_cards_to_v2(&mut self) -> Result<()> { function v2_card (line 154) | fn v2_card() { FILE: rslib/src/search/builder.rs type Negated (line 18) | pub trait Negated { method negated (line 19) | fn negated(self) -> Node; method negated (line 38) | fn negated(self) -> Node { type JoinSearches (line 22) | pub trait JoinSearches { method and (line 25) | fn and(self, other: impl Into) -> SearchBuilder; method or (line 28) | fn or(self, other: impl Into) -> SearchBuilder; method and_flat (line 31) | fn and_flat(self, other: impl Into) -> SearchBuilder; method or_flat (line 34) | fn or_flat(self, other: impl Into) -> SearchBuilder; method and (line 49) | fn and(self, other: impl Into) -> SearchBuilder { method or (line 53) | fn or(self, other: impl Into) -> SearchBuilder { method and_flat (line 57) | fn and_flat(self, other: impl Into) -> SearchBuilder { method or_flat (line 61) | fn or_flat(self, other: impl Into) -> SearchBuilder { type SearchBuilder (line 68) | pub struct SearchBuilder(Vec); method new (line 71) | pub fn new() -> Self { method from_root (line 77) | pub fn from_root(node: Node) -> Self { method all (line 85) | pub fn all(iter: impl IntoIterator>) -> Self { method any (line 90) | pub fn any(iter: impl IntoIterator>) -> Self { method is_empty (line 94) | pub fn is_empty(&self) -> bool { method len (line 98) | pub fn len(&self) -> usize { method join_other (line 102) | fn join_other(mut self, mut other: Self, joiner: Node, group: bool) ->... method group (line 115) | pub fn group(mut self) -> Self { method write (line 122) | pub fn write(&self) -> String { method from_decks (line 127) | pub fn from_decks(decks: &[DeckId]) -> Self { method learning_cards (line 132) | pub fn learning_cards() -> Self { method relearning_cards (line 137) | pub fn relearning_cards() -> Self { method from (line 143) | fn from(node: T) -> Self { method try_into_search (line 149) | fn try_into_search(self) -> Result { method default (line 155) | fn default() -> Self { method from_deck_id (line 161) | pub fn from_deck_id(did: impl Into, with_children: bool) -> Self { method from_deck_name (line 170) | pub fn from_deck_name(name: &str) -> Self { method from_tag_name (line 175) | pub fn from_tag_name(name: &str) -> Self { method from_notetype_name (line 183) | pub fn from_notetype_name(name: &str) -> Self { method from_template_name (line 188) | pub fn from_template_name(name: &str) -> Self { method from_note_ids (line 194) | pub fn from_note_ids, N: Into>(ids: I)... method from_card_ids (line 198) | pub fn from_card_ids, C: Into>(ids: I)... method from (line 204) | fn from(node: T) -> Self { method from (line 210) | fn from(id: NotetypeId) -> Self { method from (line 216) | fn from(k: TemplateKind) -> Self { method from (line 222) | fn from(n: NoteId) -> Self { method from (line 228) | fn from(k: StateKind) -> Self { function negating (line 238) | fn negating() { function joining (line 253) | fn joining() { FILE: rslib/src/search/card_mod_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/deck_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/mod.rs type ReturnItemType (line 35) | pub enum ReturnItemType { method required_table (line 64) | fn required_table(&self) -> RequiredTable { type SortMode (line 41) | pub enum SortMode { method required_table (line 73) | fn required_table(&self) -> RequiredTable { type AsReturnItemType (line 47) | pub trait AsReturnItemType { method as_return_item_type (line 48) | fn as_return_item_type() -> ReturnItemType; method as_return_item_type (line 52) | fn as_return_item_type() -> ReturnItemType { method as_return_item_type (line 58) | fn as_return_item_type() -> ReturnItemType { method required_table (line 93) | fn required_table(self) -> RequiredTable { type TryIntoSearch (line 106) | pub trait TryIntoSearch { method try_into_search (line 107) | fn try_into_search(self) -> Result; method try_into_search (line 111) | fn try_into_search(self) -> Result { method try_into_search (line 117) | fn try_into_search(self) -> Result { method try_into_search (line 126) | fn try_into_search(self) -> Result { type CardTableGuard (line 131) | pub struct CardTableGuard<'a> { method drop (line 137) | fn drop(&mut self) { type NoteTableGuard (line 144) | pub struct NoteTableGuard<'a> { method drop (line 150) | fn drop(&mut self) { method search_cards (line 158) | pub fn search_cards(&mut self, search: N, mode: SortMode) -> Result(&mut self, search: N, mode: SortMode) -> Result(&mut self, search: N) -> Result(&mut self, search: N, mode: SortMode) -> Result> method add_order (line 201) | fn add_order( method search_cards_into_table (line 226) | pub(crate) fn search_cards_into_table( method all_cards_for_search (line 255) | pub(crate) fn all_cards_for_search(&mut self, search: impl TryIntoSearch... method all_cards_for_search_in_order (line 260) | pub(crate) fn all_cards_for_search_in_order( method all_cards_for_ids (line 269) | pub(crate) fn all_cards_for_ids( method for_each_card_in_search (line 284) | pub(crate) fn for_each_card_in_search( method search_notes_into_table (line 300) | pub(crate) fn search_notes_into_table( method search_cards_of_notes_into_table (line 324) | pub(crate) fn search_cards_of_notes_into_table(&mut self) -> Result Cow<'static, str> { function prepare_sort (line 416) | fn prepare_sort(col: &mut Collection, column: Column, item_type: ReturnI... method zero (line 457) | pub(crate) fn zero() -> Self { function column_default_sort_order_should_match_order_by_clause (line 467) | fn column_default_sort_order_should_match_order_by_clause() { FILE: rslib/src/search/note_cards_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/note_decks_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/note_due_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/note_ease_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/note_interval_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/note_lapses_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/note_original_position_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/note_reps_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/notetype_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/parser.rs type IResult (line 31) | type IResult<'a, O> = std::result::Result<(&'a str, O), nom::Err = std::result::Result>>; function parse_failure (line 34) | fn parse_failure(input: &str, kind: FailKind) -> nom::Err> { function parse_error (line 38) | fn parse_error(input: &str) -> nom::Err> { type Node (line 43) | pub enum Node { type FieldSearchMode (line 52) | pub enum FieldSearchMode { method from (line 59) | fn from(mode: FieldSearchModeProto) -> Self { type SearchNode (line 69) | pub enum SearchNode { type PropertyKind (line 121) | pub enum PropertyKind { type StateKind (line 137) | pub enum StateKind { type TemplateKind (line 149) | pub enum TemplateKind { type RatingKind (line 155) | pub enum RatingKind { function parse (line 162) | pub fn parse(input: &str) -> Result> { function group_inner (line 178) | fn group_inner(input: &str) -> IResult<'_, Vec> { function whitespace0 (line 223) | fn whitespace0(s: &str) -> IResult<'_, Vec> { function node (line 228) | fn node(s: &str) -> IResult<'_, Node> { function negated_node (line 232) | fn negated_node(s: &str) -> IResult<'_, Node> { function group (line 240) | fn group(s: &str) -> IResult<'_, Node> { function text (line 255) | fn text(s: &str) -> IResult<'_, Node> { function quoted_term (line 260) | fn quoted_term(s: &str) -> IResult<'_, Node> { function partially_quoted_term (line 266) | fn partially_quoted_term(s: &str) -> IResult<'_, Node> { function unquoted_term (line 280) | fn unquoted_term(s: &str) -> IResult<'_, Node> { function quoted_term_str (line 317) | fn quoted_term_str(s: &str) -> IResult<'_, &str> { function search_node_for_text (line 341) | fn search_node_for_text(s: &str) -> ParseResult<'_, SearchNode> { function search_node_for_text_with_argument (line 356) | fn search_node_for_text_with_argument<'a>( function parse_tag (line 389) | fn parse_tag(s: &str) -> ParseResult<'_, SearchNode> { function parse_template (line 408) | fn parse_template(s: &str) -> ParseResult<'_, SearchNode> { function parse_flag (line 416) | fn parse_flag(s: &str) -> ParseResult<'_, SearchNode> { function parse_resched (line 429) | fn parse_resched(s: &str) -> ParseResult<'_, SearchNode> { function parse_prop (line 437) | fn parse_prop(prop_clause: &str) -> ParseResult<'_, SearchNode> { function parse_u32 (line 513) | fn parse_u32<'a>(num: &str, context: &'a str) -> ParseResult<'a, u32> { function parse_i32 (line 525) | fn parse_i32<'a>(num: &str, context: &'a str) -> ParseResult<'a, i32> { function parse_negative_i32 (line 537) | fn parse_negative_i32<'a>(num: &str, context: &'a str) -> ParseResult<'a... function parse_f32 (line 552) | fn parse_f32<'a>(num: &str, context: &'a str) -> ParseResult<'a, f32> { function parse_i64 (line 564) | fn parse_i64<'a>(num: &str, context: &'a str) -> ParseResult<'a, i64> { function parse_answer_button (line 576) | fn parse_answer_button<'a>(num: Option<&str>, context: &'a str) -> Parse... function parse_prop_rated (line 597) | fn parse_prop_rated<'a>(num: &str, context: &'a str) -> ParseResult<'a, ... function parse_added (line 605) | fn parse_added(s: &str) -> ParseResult<'_, SearchNode> { function parse_edited (line 610) | fn parse_edited(s: &str) -> ParseResult<'_, SearchNode> { function parse_introduced (line 615) | fn parse_introduced(s: &str) -> ParseResult<'_, SearchNode> { function parse_rated (line 621) | fn parse_rated(s: &str) -> ParseResult<'_, SearchNode> { function parse_state (line 629) | fn parse_state(s: &str) -> ParseResult<'_, SearchNode> { function parse_mid (line 649) | fn parse_mid(s: &str) -> ParseResult<'_, SearchNode> { function check_id_list (line 655) | fn check_id_list<'a>(s: &'a str, context: &str) -> ParseResult<'a, &'a s... function parse_dupe (line 671) | fn parse_dupe(s: &str) -> ParseResult<'_, SearchNode> { function parse_single_field (line 690) | fn parse_single_field<'a>(key: &'a str, val: &'a str) -> ParseResult<'a,... function unescape_quotes (line 713) | fn unescape_quotes(s: &str) -> String { function unescape_quotes_and_backslashes (line 722) | fn unescape_quotes_and_backslashes(s: &str) -> String { function unescape (line 731) | fn unescape(txt: &str) -> ParseResult<'_, String> { function invalid_escape_sequence (line 757) | fn invalid_escape_sequence(txt: &str) -> Option { function is_parser_escape (line 776) | fn is_parser_escape(txt: &str) -> bool { function parsing (line 799) | fn parsing() -> Result<()> { function errors (line 1013) | fn errors() { FILE: rslib/src/search/service/browser_table.rs function to_pb_column (line 11) | pub fn to_pb_column(self, i18n: &I18n) -> anki_proto::search::browser_co... function string_list_to_browser_columns (line 26) | pub(crate) fn string_list_to_browser_columns( FILE: rslib/src/search/service/mod.rs method build_search_string (line 23) | fn build_search_string( method search_cards (line 31) | fn search_cards( method search_notes (line 42) | fn search_notes( method join_search_nodes (line 53) | fn join_search_nodes( method replace_search_node (line 76) | fn replace_search_node( method find_and_replace (line 92) | fn find_and_replace( method all_browser_columns (line 119) | fn all_browser_columns(&mut self) -> Result ... method browser_row_for_id (line 128) | fn browser_row_for_id( method from (line 137) | fn from(order: Option) -> Self { FILE: rslib/src/search/service/search_node.rs type Error (line 21) | type Error = AnkiError; method try_from (line 23) | fn try_from(msg: anki_proto::search::SearchNode) -> std::result::Result<... method from (line 125) | fn from(r: anki_proto::search::search_node::Rating) -> Self { method from (line 138) | fn from(k: anki_proto::search::search_node::CardState) -> Self { function id_list_to_string (line 150) | fn id_list_to_string(list: IdList) -> String { FILE: rslib/src/search/sqlwriter.rs type SqlWriter (line 38) | pub(crate) struct SqlWriter<'a> { function new (line 48) | pub(crate) fn new(col: &mut Collection, item_type: ReturnItemType) -> Sq... function build_query (line 62) | pub(super) fn build_query( function write_table_sql (line 73) | fn write_table_sql(&mut self) { function note_id_column (line 90) | fn note_id_column(&self) -> &'static str { function write_node_to_sql (line 98) | fn write_node_to_sql(&mut self, node: &Node) -> Result<()> { function norm_note (line 119) | fn norm_note<'a>(&self, text: &'a str) -> Cow<'a, str> { function write_search_node_to_sql (line 130) | fn write_search_node_to_sql(&mut self, node: &SearchNode) -> Result<()> { function write_unqualified (line 203) | fn write_unqualified( function write_tag (line 300) | fn write_tag(&mut self, tag: &str, mode: FieldSearchMode) { function write_rated (line 333) | fn write_rated(&mut self, op: &str, days: i64, ease: &RatingKind) -> Res... function write_prop (line 371) | fn write_prop(&mut self, op: &str, kind: &PropertyKind) -> Result<()> { function write_custom_data (line 449) | fn write_custom_data(&mut self, key: &str) -> Result<()> { function write_state (line 455) | fn write_state(&mut self, state: &StateKind) -> Result<()> { function write_deck (line 500) | fn write_deck(&mut self, deck: &str) -> Result<()> { function write_deck_id_with_children (line 535) | fn write_deck_id_with_children(&mut self, deck_id: DeckId) -> Result<()> { function write_template (line 548) | fn write_template(&mut self, template: &TemplateKind) { function write_notetype (line 570) | fn write_notetype(&mut self, nt_name: &str) { function write_field (line 583) | fn write_field(&mut self, field_name: &str, val: &str, mode: FieldSearch... function write_all_fields_regexp (line 600) | fn write_all_fields_regexp(&mut self, val: &str) { function write_all_fields (line 605) | fn write_all_fields(&mut self, val: &str) { function write_single_field_nc (line 610) | fn write_single_field_nc(&mut self, field_name: &str, val: &str) -> Resu... function write_single_field_regexp (line 662) | fn write_single_field_regexp(&mut self, field_name: &str, val: &str) -> ... function write_single_field (line 685) | fn write_single_field(&mut self, field_name: &str, val: &str) -> Result<... function num_fields_and_fields_indices_by_notetype (line 732) | fn num_fields_and_fields_indices_by_notetype( function fields_indices_by_notetype (line 762) | fn fields_indices_by_notetype( function included_fields_by_notetype (line 787) | fn included_fields_by_notetype(&mut self) -> Result Result<()> { function previous_day_cutoff (line 871) | fn previous_day_cutoff(&mut self, days_back: u32) -> Result Result<()> { function write_edited (line 882) | fn write_edited(&mut self, days: u32) -> Result<()> { function write_introduced (line 888) | fn write_introduced(&mut self, days: u32) -> Result<()> { function write_regex (line 905) | fn write_regex(&mut self, word: &str, no_combining: bool) -> Result<()> { function write_word_boundary (line 944) | fn write_word_boundary(&mut self, word: &str) -> Result<()> { function write_deck_preset (line 952) | fn write_deck_preset(&mut self, name: &str) -> Result<()> { type RequiredTable (line 979) | pub enum RequiredTable { method combine (line 987) | fn combine(self, other: RequiredTable) -> RequiredTable { type CollectRanges (line 1006) | trait CollectRanges { method collect_ranges (line 1008) | fn collect_ranges(self, join: bool) -> Vec>; type Item (line 1016) | type Item = Idx; method collect_ranges (line 1018) | fn collect_ranges(self, join: bool) -> Vec> { type FieldQualifiedSearchContext (line 1043) | struct FieldQualifiedSearchContext { type UnqualifiedSearchContext (line 1051) | struct UnqualifiedSearchContext { type UnqualifiedRegexSearchContext (line 1058) | struct UnqualifiedRegexSearchContext { method required_table (line 1067) | fn required_table(&self) -> RequiredTable { method required_table (line 1081) | fn required_table(&self) -> RequiredTable { function s (line 1127) | fn s(req: &mut Collection, search: &str) -> (String, Vec) { function sql (line 1136) | fn sql() { function required_table (line 1427) | fn required_table() { function ranges (line 1460) | fn ranges() { FILE: rslib/src/search/template_order.sql type sort_order (line 2) | CREATE TEMPORARY TABLE sort_order ( FILE: rslib/src/search/writer.rs function replace_search_node (line 25) | pub fn replace_search_node(mut existing: Vec, replacement: Node) -... function write_nodes (line 47) | pub(super) fn write_nodes(nodes: &[Node]) -> String { method to_string (line 53) | fn to_string(&self) -> String { function write_node (line 58) | fn write_node(node: &Node) -> String { function write_search_node (line 69) | fn write_search_node(node: &SearchNode) -> String { function maybe_quote (line 103) | fn maybe_quote(txt: &str) -> String { function needs_quotation (line 113) | fn needs_quotation(txt: &str) -> bool { function write_single_field (line 120) | fn write_single_field(field: &str, text: &str, mode: FieldSearchMode) ->... function write_template (line 141) | fn write_template(template: &TemplateKind) -> String { function write_rated (line 148) | fn write_rated(days: &u32, ease: &RatingKind) -> String { function write_dupe (line 158) | fn write_dupe(notetype_id: &NotetypeId, text: &str) -> String { function write_state (line 163) | fn write_state(kind: &StateKind) -> String { function write_property (line 180) | fn write_property(operator: &str, kind: &PropertyKind) -> String { function deck_search (line 204) | pub(crate) fn deck_search(name: &str) -> String { function normalize_search (line 210) | pub(crate) fn normalize_search(input: &str) -> Result { function normalizing (line 221) | fn normalizing() { function replacing (line 246) | fn replacing() -> Result<()> { FILE: rslib/src/serde.rs function default_on_invalid (line 14) | pub(crate) fn default_on_invalid<'de, T, D>(deserializer: D) -> Result(t: &T) -> bool { function deserialize_int_from_number (line 27) | pub(crate) fn deserialize_int_from_number<'de, T, D>(deserializer: D) ->... type FromI64 (line 46) | pub(crate) trait FromI64 { method from_i64 (line 47) | fn from_i64(val: i64) -> Self; method from_i64 (line 51) | fn from_i64(val: i64) -> Self { method from_i64 (line 57) | fn from_i64(val: i64) -> Self { method from_i64 (line 63) | fn from_i64(val: i64) -> Self { method from_i64 (line 69) | fn from_i64(val: i64) -> Self { type MaybeInvalid (line 81) | struct MaybeInvalid { function invalid_or_missing (line 87) | fn invalid_or_missing() { FILE: rslib/src/stats/card.rs method card_stats (line 16) | pub fn card_stats(&mut self, cid: CardId) -> Result Result Result> { method position (line 141) | fn position(&mut self, card: &Card) -> Option { method stats_revlog_entries_with_memory_state (line 151) | fn stats_revlog_entries_with_memory_state( function average_and_total_secs_strings (line 206) | fn average_and_total_secs_strings(revlog: &[RevlogEntry]) -> (f32, f32) { function stats_revlog_entry (line 219) | fn stats_revlog_entry( function stats (line 240) | fn stats() -> Result<()> { FILE: rslib/src/stats/graphs/added.rs method added_days (line 9) | pub(super) fn added_days(&self) -> Added { FILE: rslib/src/stats/graphs/buttons.rs method buttons (line 12) | pub(super) fn buttons(&self) -> Buttons { type IntervalBucket (line 58) | enum IntervalBucket { function increment_button_counts (line 64) | fn increment_button_counts(counts: &mut ButtonCounts, bucket: IntervalBu... function interval_bucket (line 72) | fn interval_bucket(review: &RevlogEntry) -> Option { function button_index (line 86) | fn button_index(button_chosen: u8) -> Option { FILE: rslib/src/stats/graphs/card_counts.rs method card_counts (line 13) | pub(super) fn card_counts(&self) -> CardCounts { function increment_counts (line 35) | fn increment_counts(counts: &mut Counts, card: &Card) { FILE: rslib/src/stats/graphs/eases.rs method eases (line 11) | pub(super) fn eases(&self) -> (Eases, Eases) { function median (line 40) | fn median(data: &mut [f32]) -> f32 { function percent_to_bin (line 54) | pub(super) fn percent_to_bin(x: f32, bin_size: u32) -> u32 { function bins (line 67) | fn bins() { FILE: rslib/src/stats/graphs/future_due.rs method future_due (line 14) | pub(super) fn future_due(&self) -> FutureDue { FILE: rslib/src/stats/graphs/hours.rs method hours (line 11) | pub(super) fn hours(&self) -> Hours { function increment_count_for_hour (line 56) | pub(crate) fn increment_count_for_hour(hour: &mut Hour, correct: bool) { FILE: rslib/src/stats/graphs/intervals.rs method intervals (line 10) | pub(super) fn intervals(&self) -> Intervals { method stability (line 23) | pub(super) fn stability(&self) -> Intervals { FILE: rslib/src/stats/graphs/mod.rs type GraphsContext (line 22) | struct GraphsContext { method graph_data_for_search (line 31) | pub(crate) fn graph_data_for_search( method graph_data (line 41) | fn graph_data(&mut self, all: bool, days: u32) -> Result anki_proto::stats::GraphPr... method set_graph_preferences (line 96) | pub(crate) fn set_graph_preferences( FILE: rslib/src/stats/graphs/retention.rs method calculate_true_retention (line 13) | pub fn calculate_true_retention(&self) -> TrueRetentionStats { FILE: rslib/src/stats/graphs/retrievability.rs method retrievability (line 15) | pub(super) fn retrievability(&self) -> Retrievability { FILE: rslib/src/stats/graphs/reviews.rs method review_counts_and_times (line 10) | pub(super) fn review_counts_and_times(&self) -> ReviewCountsAndTimes { FILE: rslib/src/stats/graphs/today.rs method today (line 10) | pub(super) fn today(&self) -> Today { FILE: rslib/src/stats/service.rs method card_stats (line 8) | fn card_stats( method get_review_logs (line 15) | fn get_review_logs( method graphs (line 22) | fn graphs( method get_graph_preferences (line 29) | fn get_graph_preferences(&mut self) -> error::Result Self { FILE: rslib/src/stats/today.rs function studied_today (line 10) | pub fn studied_today(cards: u32, secs: f32, tr: &I18n) -> String { method studied_today (line 24) | pub fn studied_today(&mut self) -> Result { function today (line 38) | fn today() { FILE: rslib/src/storage/card/data.rs type CardData (line 20) | pub(crate) struct CardData { method from_card (line 65) | pub(crate) fn from_card(card: &Card) -> Self { method from_str (line 77) | pub(crate) fn from_str(s: &str) -> Self { method memory_state (line 81) | pub(crate) fn memory_state(&self) -> Option { method convert_to_json (line 93) | pub(crate) fn convert_to_json(&mut self) -> Result { function round_to_places (line 110) | fn round_to_places(value: &mut f32, decimal_places: u32) { method column_result (line 117) | fn column_result(value: ValueRef<'_>) -> std::result::Result String { function meta_is_empty (line 131) | fn meta_is_empty(s: &str) -> bool { function validate_custom_data (line 135) | fn validate_custom_data(json_str: &str) -> Result<()> { method validate_custom_data (line 152) | pub(crate) fn validate_custom_data(&self) -> Result<()> { function validation (line 161) | fn validation() { function compact_floats (line 172) | fn compact_floats() { FILE: rslib/src/storage/card/filtered.rs function order_and_limit_for_search (line 9) | pub(crate) fn order_and_limit_for_search( function build_retrievability_query (line 52) | fn build_retrievability_query( FILE: rslib/src/storage/card/mod.rs type CardFixStats (line 47) | pub(crate) struct CardFixStats { method column_result (line 54) | fn column_result(value: ValueRef<'_>) -> result::Result) -> result::Result result::Result { function row_to_card_entry (line 102) | fn row_to_card_entry(row: &Row) -> Result { function row_to_new_card (line 110) | fn row_to_new_card(row: &Row) -> result::Result { function get_card (line 123) | pub fn get_card(&self, cid: CardId) -> Result> { function get_all_card_entries (line 131) | pub(crate) fn get_all_card_entries(&self) -> Result> { function update_card (line 138) | pub(crate) fn update_card(&self, card: &Card) -> Result<()> { function add_card (line 163) | pub(crate) fn add_card(&self, card: &mut Card) -> Result<()> { function add_card_if_unique (line 191) | pub(crate) fn add_card_if_unique(&self, card: &Card) -> Result { function add_or_update_card (line 219) | pub(crate) fn add_or_update_card(&self, card: &Card) -> Result<()> { function remove_card (line 245) | pub(crate) fn remove_card(&self, cid: CardId) -> Result<()> { function for_each_intraday_card_in_active_decks (line 252) | pub(crate) fn for_each_intraday_card_in_active_decks( function for_each_due_card_in_active_decks (line 279) | pub(crate) fn for_each_due_card_in_active_decks( function for_each_new_card_in_deck (line 320) | pub(crate) fn for_each_new_card_in_deck( function for_each_new_card_in_active_decks (line 346) | pub(crate) fn for_each_new_card_in_active_decks( function fix_card_properties (line 370) | pub(crate) fn fix_card_properties( function delete_orphaned_cards (line 423) | pub(crate) fn delete_orphaned_cards(&self) -> Result { function all_filtered_cards_by_deck (line 430) | pub(crate) fn all_filtered_cards_by_deck(&self) -> Result Result { function get_card_by_ordinal (line 444) | pub(crate) fn get_card_by_ordinal(&self, nid: NoteId, ord: u16) -> Resul... function clear_pending_card_usns (line 455) | pub(crate) fn clear_pending_card_usns(&self) -> Result<()> { function have_at_least_one_card (line 462) | pub(crate) fn have_at_least_one_card(&self) -> Result { function all_cards_of_note (line 471) | pub fn all_cards_of_note(&self, nid: NoteId) -> Result> { function all_cards_of_notes_above_ordinal (line 478) | pub(crate) fn all_cards_of_notes_above_ordinal( function all_card_ids_of_note_in_template_order (line 494) | pub fn all_card_ids_of_note_in_template_order(&self, nid: NoteId) -> Res... function get_all_card_ids (line 501) | pub(crate) fn get_all_card_ids(&self) -> Result> { function all_cards_as_nid_and_ord (line 508) | pub(crate) fn all_cards_as_nid_and_ord(&self) -> Result Result( function note_ids_of_cards (line 567) | pub(crate) fn note_ids_of_cards(&self, cids: &[CardId]) -> Result Result { function all_searched_cards (line 592) | pub(crate) fn all_searched_cards(&self) -> Result> { function all_searched_cards_in_search_order (line 602) | pub(crate) fn all_searched_cards_in_search_order(&self) -> Result(&self, mut func: F) -> Result<()> function get_all_cards_due_in_range (line 630) | pub(crate) fn get_all_cards_due_in_range( function get_deck_due_counts (line 656) | pub(crate) fn get_deck_due_counts(&self) -> Result Result... function all_cards_at_or_above_position (line 696) | pub(crate) fn all_cards_at_or_above_position(&self, start: u32) -> Resul... function setup_searched_cards_table (line 705) | pub(crate) fn setup_searched_cards_table(&self) -> Result<()> { function setup_searched_cards_table_to_preserve_order (line 711) | pub(crate) fn setup_searched_cards_table_to_preserve_order(&self) -> Res... function clear_searched_cards_table (line 717) | pub(crate) fn clear_searched_cards_table(&self) -> Result<()> { function set_search_table_to_card_ids (line 724) | pub(crate) fn set_search_table_to_card_ids(&self, cards: &[CardId]) -> R... function fix_low_card_eases_for_configs (line 737) | pub(crate) fn fix_low_card_eases_for_configs( function get_card_count_with_ignore_before (line 764) | pub(crate) fn get_card_count_with_ignore_before( function get_all_cards (line 779) | pub(crate) fn get_all_cards(&self) -> Vec { type ReviewOrderSubclause (line 791) | pub(crate) enum ReviewOrderSubclause { method fmt (line 816) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function review_order_sql (line 857) | fn review_order_sql(order: ReviewCardOrder, timing: SchedTimingToday, fs... type NewCardSorting (line 905) | pub(crate) enum NewCardSorting { method write (line 921) | fn write(self) -> String { function add_card (line 941) | fn add_card() { FILE: rslib/src/storage/card/search_cids_setup.sql type search_cids (line 2) | CREATE TEMPORARY TABLE search_cids (cid integer PRIMARY KEY NOT NULL) FILE: rslib/src/storage/card/search_cids_setup_ordered.sql type search_cids (line 2) | CREATE TEMPORARY TABLE search_cids (cid integer NOT NULL) FILE: rslib/src/storage/collection_timestamps.rs method get_collection_timestamps (line 11) | pub(crate) fn get_collection_timestamps(&self) -> Result... method set_last_sync (line 31) | pub(crate) fn set_last_sync(&self, stamp: TimestampMillis) -> Result<()> { method set_modified_time (line 36) | pub(crate) fn set_modified_time(&self, stamp: TimestampMillis) -> Result... method creation_stamp (line 45) | pub(crate) fn creation_stamp(&self) -> Result { method set_creation_stamp (line 52) | pub(crate) fn set_creation_stamp(&self, stamp: TimestampSecs) -> Result<... FILE: rslib/src/storage/config/mod.rs method set_config_entry (line 17) | pub(crate) fn set_config_entry(&self, entry: &ConfigEntry) -> Result<()> { method remove_config (line 24) | pub(crate) fn remove_config(&self, key: &str) -> Result<()> { method get_config_value (line 31) | pub(crate) fn get_config_value(&self, key: &str) ->... method get_config_entry (line 43) | pub(crate) fn get_config_entry(&self, key: &str) -> Result Result Result> { method set_all_config (line 79) | pub(crate) fn set_all_config( method clear_config_usns (line 97) | pub(crate) fn clear_config_usns(&self) -> Result<()> { method upgrade_config_to_schema14 (line 106) | pub(super) fn upgrade_config_to_schema14(&self) -> Result<()> { method downgrade_config_from_schema14 (line 120) | pub(super) fn downgrade_config_from_schema14(&self) -> Result<()> { FILE: rslib/src/storage/dbcheck/invalid_ids_create.sql type invalid_ids (line 2) | CREATE TEMPORARY TABLE invalid_ids AS WITH max_existing_valid_id AS ( type invalid_ids_id_idx (line 28) | CREATE INDEX invalid_ids_id_idx ON invalid_ids (id) FILE: rslib/src/storage/dbcheck/mod.rs function invalid_ids (line 8) | pub(crate) fn invalid_ids(&self, cutoff: i64) -> Result { function fix_invalid_ids (line 20) | pub(crate) fn fix_invalid_ids(&self, max_valid_id: i64, new_id: i64) -> ... function setup_invalid_ids_table (line 37) | fn setup_invalid_ids_table( function update_invalid_ids_from_table (line 54) | fn update_invalid_ids_from_table(&self, target_table: &str, id_column: &... function any_invalid_ids (line 69) | fn any_invalid_ids() { function fix_invalid_note_ids_only_and_update_cards (line 82) | fn fix_invalid_note_ids_only_and_update_cards() { function fix_invalid_card_ids_only (line 92) | fn fix_invalid_card_ids_only() { function update_revlog_when_fixing_card_ids (line 107) | fn update_revlog_when_fixing_card_ids() { FILE: rslib/src/storage/deck/mod.rs function row_to_deck (line 24) | fn row_to_deck(row: &Row) -> Result { function row_to_due_counts (line 43) | fn row_to_due_counts(row: &Row) -> Result<(DeckId, DueCounts)> { method get_all_decks_as_schema11 (line 66) | pub(crate) fn get_all_decks_as_schema11(&self) -> Result Result> { method get_deck_by_name (line 79) | pub(crate) fn get_deck_by_name(&self, machine_name: &str) -> Result Result> { method get_decks_map (line 94) | pub(crate) fn get_decks_map(&self) -> Result> { method get_all_deck_names (line 103) | pub(crate) fn get_all_deck_names(&self) -> Result> { method get_deck_id (line 115) | pub(crate) fn get_deck_id(&self, machine_name: &str) -> Result Result> { method get_decks_and_original_for_search_cards (line 135) | pub(crate) fn get_decks_and_original_for_search_cards(&self) -> Result Result Result<()> { method update_deck (line 169) | pub(crate) fn update_deck(&self, deck: &Deck) -> Result<()> { method add_or_update_deck_with_existing_id (line 194) | pub(crate) fn add_or_update_deck_with_existing_id(&self, deck: &Deck) ->... method remove_deck (line 218) | pub(crate) fn remove_deck(&self, did: DeckId) -> Result<()> { method all_cards_in_single_deck (line 225) | pub(crate) fn all_cards_in_single_deck(&self, did: DeckId) -> Result Result> { method deck_id_with_children (line 245) | pub(crate) fn deck_id_with_children(&self, parent: &Deck) -> Result Result Result> { method due_counts (line 295) | pub(crate) fn due_counts( method missing_decks (line 319) | pub(crate) fn missing_decks(&self) -> Result> { method deck_is_empty (line 326) | pub(crate) fn deck_is_empty(&self, did: DeckId) -> Result { method clear_deck_usns (line 335) | pub(crate) fn clear_deck_usns(&self) -> Result<()> { method update_active_decks (line 343) | pub(crate) fn update_active_decks(&self, current: &Deck) -> Result<()> { method get_active_deck_ids_sorted (line 360) | pub(crate) fn get_active_deck_ids_sorted(&self) -> Result> { method add_default_deck (line 369) | pub(super) fn add_default_deck(&self, tr: &I18n) -> Result<()> { method upgrade_decks_to_schema15 (line 377) | pub(crate) fn upgrade_decks_to_schema15(&self, server: bool) -> Result<(... method downgrade_decks_from_schema15 (line 406) | pub(crate) fn downgrade_decks_from_schema15(&self) -> Result<()> { method get_schema11_decks (line 411) | fn get_schema11_decks(&self) -> Result> { method set_schema11_decks (line 424) | pub(crate) fn set_schema11_decks(&self, decks: HashMap Result { method all_deck_config (line 34) | pub(crate) fn all_deck_config(&self) -> Result> { method all_deck_config_for_schema16_upgrade (line 42) | pub(crate) fn all_deck_config_for_schema16_upgrade(&self) -> Result Result Result Result Result<()> { method add_deck_conf_if_unique (line 92) | pub(crate) fn add_deck_conf_if_unique(&self, conf: &DeckConfig) -> Resul... method update_deck_conf (line 108) | pub(crate) fn update_deck_conf(&self, conf: &DeckConfig) -> Result<()> { method add_or_update_deck_config_with_existing_id (line 125) | pub(crate) fn add_or_update_deck_config_with_existing_id( method remove_deck_conf (line 144) | pub(crate) fn remove_deck_conf(&self, dcid: DeckConfigId) -> Result<()> { method clear_deck_conf_usns (line 151) | pub(crate) fn clear_deck_conf_usns(&self) -> Result<()> { method add_default_deck_config (line 160) | pub(super) fn add_default_deck_config(&self, tr: &I18n) -> Result<()> { method add_deck_conf_schema14 (line 169) | fn add_deck_conf_schema14(&self, conf: &mut DeckConfSchema11) -> Result<... method upgrade_deck_conf_to_schema14 (line 186) | pub(super) fn upgrade_deck_conf_to_schema14(&self) -> Result<()> { method all_deck_config_schema14 (line 215) | fn all_deck_config_schema14(&self) -> Result> { method upgrade_deck_conf_to_schema15 (line 224) | pub(super) fn upgrade_deck_conf_to_schema15(&self) -> Result<()> { method upgrade_deck_conf_to_schema16 (line 237) | pub(super) fn upgrade_deck_conf_to_schema16(&self, server: bool) -> Resu... method downgrade_deck_conf_from_schema16 (line 257) | pub(super) fn downgrade_deck_conf_from_schema16(&self) -> Result<()> { FILE: rslib/src/storage/graves/mod.rs type GraveKind (line 15) | enum GraveKind { method clear_all_graves (line 22) | pub(crate) fn clear_all_graves(&self) -> Result<()> { method add_card_grave (line 27) | pub(crate) fn add_card_grave(&self, cid: CardId, usn: Usn) -> Result<()> { method add_note_grave (line 31) | pub(crate) fn add_note_grave(&self, nid: NoteId, usn: Usn) -> Result<()> { method add_deck_grave (line 35) | pub(crate) fn add_deck_grave(&self, did: DeckId, usn: Usn) -> Result<()> { method remove_card_grave (line 39) | pub(crate) fn remove_card_grave(&self, cid: CardId) -> Result<()> { method remove_note_grave (line 43) | pub(crate) fn remove_note_grave(&self, nid: NoteId) -> Result<()> { method remove_deck_grave (line 47) | pub(crate) fn remove_deck_grave(&self, did: DeckId) -> Result<()> { method pending_graves (line 51) | pub(crate) fn pending_graves(&self, pending_usn: Usn) -> Result { method update_pending_grave_usns (line 71) | pub(crate) fn update_pending_grave_usns(&self, new_usn: Usn) -> Result<(... method add_grave (line 78) | fn add_grave(&self, oid: i64, kind: GraveKind, usn: Usn) -> Result<()> { method remove_grave (line 86) | fn remove_grave(&self, oid: i64, kind: GraveKind) -> Result<()> { FILE: rslib/src/storage/mod.rs type SchemaVersion (line 26) | pub enum SchemaVersion { method has_journal_mode_delete (line 32) | pub(super) fn has_journal_mode_delete(self) -> bool { function ids_to_string (line 38) | pub fn ids_to_string(buf: &mut String, ids: I) function write_comma_separated_ids (line 49) | pub(crate) fn write_comma_separated_ids(buf: &mut String, ids: I) function comma_separated_ids (line 64) | pub(crate) fn comma_separated_ids(ids: &[T]) -> String function ids_string (line 79) | fn ids_string() { FILE: rslib/src/storage/note/mod.rs function split_fields (line 18) | pub(crate) fn split_fields(fields: &str) -> Vec { function join_fields (line 22) | pub(crate) fn join_fields(fields: &[String]) -> String { function get_note (line 27) | pub fn get_note(&self, nid: NoteId) -> Result> { function get_note_without_fields (line 35) | pub fn get_note_without_fields(&self, nid: NoteId) -> Result Result> { function update_note (line 55) | pub(crate) fn update_note(&self, note: &Note) -> Result<()> { function add_note (line 72) | pub(crate) fn add_note(&self, note: &mut Note) -> Result<()> { function add_note_if_unique (line 90) | pub(crate) fn add_note_if_unique(&self, note: &Note) -> Result { function add_or_update_note (line 110) | pub(crate) fn add_or_update_note(&self, note: &Note) -> Result<()> { function remove_note (line 126) | pub(crate) fn remove_note(&self, nid: NoteId) -> Result<()> { function note_is_orphaned (line 133) | pub(crate) fn note_is_orphaned(&self, nid: NoteId) -> Result { function clear_pending_note_usns (line 140) | pub(crate) fn clear_pending_note_usns(&self) -> Result<()> { function fix_invalid_utf8_in_note (line 147) | pub(crate) fn fix_invalid_utf8_in_note(&self, nid: NoteId) -> Result<()> { function note_fields_by_checksum (line 170) | pub(crate) fn note_fields_by_checksum( function all_notes_by_type_and_checksum (line 184) | pub(crate) fn all_notes_by_type_and_checksum( function all_notes_by_type_checksum_and_deck (line 198) | pub(crate) fn all_notes_by_type_checksum_and_deck( function total_notes (line 215) | pub(crate) fn total_notes(&self) -> Result { function all_tags_in_notes (line 223) | pub(crate) fn all_tags_in_notes(&self) -> Result... function get_note_tags_by_id (line 242) | pub(crate) fn get_note_tags_by_id(&mut self, note_id: NoteId) -> Result<... function get_note_tags_by_id_list (line 250) | pub(crate) fn get_note_tags_by_id_list(&self, note_ids: &[NoteId]) -> Re... function for_each_note_tag_in_searched_notes (line 262) | pub(crate) fn for_each_note_tag_in_searched_notes(&self, mut func: F)... function all_searched_notes (line 277) | pub(crate) fn all_searched_notes(&self) -> Result> { function get_note_tags_by_predicate (line 287) | pub(crate) fn get_note_tags_by_predicate(&mut self, want: F) -> Resul... function update_note_tags (line 303) | pub(crate) fn update_note_tags(&mut self, note: &NoteTags) -> Result<()> { function setup_searched_notes_table (line 310) | pub(crate) fn setup_searched_notes_table(&self) -> Result<()> { function clear_searched_notes_table (line 316) | pub(crate) fn clear_searched_notes_table(&self) -> Result<()> { function with_ids_in_searched_notes_table (line 323) | pub(crate) fn with_ids_in_searched_notes_table( function for_each_note_in_search (line 341) | pub(crate) fn for_each_note_in_search( function note_guid_map (line 358) | pub(crate) fn note_guid_map(&mut self) -> Result Result Vec { function notes_table_len (line 384) | pub(crate) fn notes_table_len(&mut self) -> usize { function row_to_note (line 389) | fn row_to_note(row: &Row) -> Result { function row_to_note_tags (line 405) | fn row_to_note_tags(row: &Row) -> Result { function row_to_note_meta (line 414) | fn row_to_note_meta(row: &Row) -> Result<(String, NoteMeta)> { FILE: rslib/src/storage/note/search_nids_setup.sql type search_nids (line 2) | CREATE TEMPORARY TABLE search_nids (nid integer PRIMARY KEY NOT NULL) FILE: rslib/src/storage/notetype/mod.rs function row_to_notetype_core (line 25) | fn row_to_notetype_core(row: &Row) -> Result { function row_to_existing_card (line 38) | fn row_to_existing_card(row: &Row) -> Result { method get_notetype (line 49) | pub(crate) fn get_notetype(&self, ntid: NotetypeId) -> Result Result> { method get_notetype_fields (line 68) | fn get_notetype_fields(&self, ntid: NotetypeId) -> Result> { method get_notetype_templates (line 82) | fn get_notetype_templates(&self, ntid: NotetypeId) -> Result Result Result Result Result> { method get_all_notetype_names (line 139) | pub fn get_all_notetype_names(&self) -> Result> { method get_all_notetype_ids (line 146) | pub fn get_all_notetype_ids(&self) -> Result> { method get_notetype_use_counts (line 154) | pub fn get_notetype_use_counts(&self) -> Result Result Result Result<()> { method add_notetype (line 247) | pub(crate) fn add_notetype(&self, nt: &mut Notetype) -> Result<()> { method add_or_update_notetype_with_existing_id (line 269) | pub(crate) fn add_or_update_notetype_with_existing_id(&self, nt: &Notety... method remove_notetype (line 277) | pub(crate) fn remove_notetype(&self, ntid: NotetypeId) -> Result<()> { method existing_cards_for_notetype (line 291) | pub(crate) fn existing_cards_for_notetype( method existing_cards_for_note (line 304) | pub(crate) fn existing_cards_for_note( method clear_notetype_usns (line 317) | pub(crate) fn clear_notetype_usns(&self) -> Result<()> { method highest_card_ordinal_for_notetype (line 324) | pub(crate) fn highest_card_ordinal_for_notetype(&self, ntid: NotetypeId)... method get_all_notetypes_as_schema11 (line 333) | pub(crate) fn get_all_notetypes_as_schema11( method upgrade_notetypes_to_schema15 (line 344) | pub(crate) fn upgrade_notetypes_to_schema15(&self) -> Result<()> { method downgrade_notetypes_from_schema15 (line 376) | pub(crate) fn downgrade_notetypes_from_schema15(&self) -> Result<()> { method get_schema11_notetypes (line 381) | fn get_schema11_notetypes(&self) -> Result Result<... FILE: rslib/src/storage/revlog/mod.rs type StudiedToday (line 19) | pub(crate) struct StudiedToday { method column_result (line 25) | fn column_result(value: ValueRef<'_>) -> std::result::Result Result { method fix_revlog_properties (line 49) | pub(crate) fn fix_revlog_properties(&self) -> Result { method clear_pending_revlog_usns (line 56) | pub(crate) fn clear_pending_revlog_usns(&self) -> Result<()> { method add_revlog_entry (line 66) | pub(crate) fn add_revlog_entry( method get_revlog_entry (line 89) | pub(crate) fn get_revlog_entry(&self, id: RevlogId) -> Result Result Result<()> { method get_revlog_entries_for_card (line 115) | pub(crate) fn get_revlog_entries_for_card(&self, cid: CardId) -> Result<... method get_revlog_entries_for_searched_cards_after_stamp (line 122) | pub(crate) fn get_revlog_entries_for_searched_cards_after_stamp( method get_revlog_entries_for_searched_cards (line 135) | pub(crate) fn get_revlog_entries_for_searched_cards(&self) -> Result Result Result Res... method studied_today (line 182) | pub(crate) fn studied_today(&self, day_cutoff: TimestampSecs) -> Result<... method studied_today_by_deck (line 204) | pub(crate) fn studied_today_by_deck( method upgrade_revlog_to_v2 (line 216) | pub(crate) fn upgrade_revlog_to_v2(&self) -> Result<()> { FILE: rslib/src/storage/schema11.sql type col (line 1) | CREATE TABLE col ( type notes (line 16) | CREATE TABLE notes ( type cards (line 31) | CREATE TABLE cards ( type revlog (line 51) | CREATE TABLE revlog ( type graves (line 62) | CREATE TABLE graves ( type ix_notes_usn (line 68) | CREATE INDEX ix_notes_usn ON notes (usn) type ix_cards_usn (line 69) | CREATE INDEX ix_cards_usn ON cards (usn) type ix_revlog_usn (line 70) | CREATE INDEX ix_revlog_usn ON revlog (usn) type ix_cards_nid (line 72) | CREATE INDEX ix_cards_nid ON cards (nid) type ix_cards_sched (line 74) | CREATE INDEX ix_cards_sched ON cards (did, queue, due) type ix_revlog_cid (line 76) | CREATE INDEX ix_revlog_cid ON revlog (cid) type ix_notes_csum (line 78) | CREATE INDEX ix_notes_csum ON notes (csum) FILE: rslib/src/storage/sqlite.rs function unicase_compare (line 38) | fn unicase_compare(s1: &str, s2: &str) -> Ordering { type SqliteStorage (line 48) | pub struct SqliteStorage { method db (line 97) | pub fn db(&self) -> &Connection { method open_or_create (line 479) | pub(crate) fn open_or_create( method close (line 553) | pub(crate) fn close(self, desired_version: Option) -> R... method checkpoint (line 565) | pub(crate) fn checkpoint(&self) -> Result<()> { method begin_trx (line 589) | pub(crate) fn begin_trx(&self) -> Result<()> { method commit_trx (line 594) | pub(crate) fn commit_trx(&self) -> Result<()> { method rollback_trx (line 601) | pub(crate) fn rollback_trx(&self) -> Result<()> { method begin_rust_trx (line 616) | pub(crate) fn begin_rust_trx(&self) -> Result<()> { method commit_rust_trx (line 621) | pub(crate) fn commit_rust_trx(&self) -> Result<()> { method rollback_rust_trx (line 626) | pub(crate) fn rollback_rust_trx(&self) -> Result<()> { method quick_check_corrupt (line 634) | pub(crate) fn quick_check_corrupt(&self) -> bool { method optimize (line 646) | pub(crate) fn optimize(&self) -> Result<()> { method db_scalar (line 652) | pub(crate) fn db_scalar(&self, sql: &str)... function open_or_create_collection_db (line 53) | fn open_or_create_collection_db(path: &Path) -> Result { function add_field_index_function (line 104) | fn add_field_index_function(db: &Connection) -> rusqlite::Result<()> { function add_process_text_function (line 124) | fn add_process_text_function(db: &Connection) -> rusqlite::Result<()> { function add_fnvhash_function (line 143) | fn add_fnvhash_function(db: &Connection) -> rusqlite::Result<()> { type BoxError (line 155) | type BoxError = Box; function add_regexp_function (line 156) | fn add_regexp_function(db: &Connection) -> rusqlite::Result<()> { function add_regexp_fields_function (line 185) | fn add_regexp_fields_function(db: &Connection) -> rusqlite::Result<()> { function add_regexp_tags_function (line 210) | fn add_regexp_tags_function(db: &Connection) -> rusqlite::Result<()> { function add_extract_original_position_function (line 232) | fn add_extract_original_position_function(db: &Connection) -> rusqlite::... function add_extract_custom_data_function (line 253) | fn add_extract_custom_data_function(db: &Connection) -> rusqlite::Result... function add_extract_fsrs_variable (line 284) | fn add_extract_fsrs_variable(db: &Connection) -> rusqlite::Result<()> { function add_extract_fsrs_retrievability (line 314) | fn add_extract_fsrs_retrievability(db: &Connection) -> rusqlite::Result<... function add_extract_fsrs_relative_retrievability (line 377) | fn add_extract_fsrs_relative_retrievability(db: &Connection) -> rusqlite... function schema_version (line 458) | fn schema_version(db: &Connection) -> Result<(bool, u8)> { function trace (line 472) | fn trace(event: TraceEvent) { type SqlSortOrder (line 658) | pub enum SqlSortOrder { method fmt (line 664) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function missing_memory_state_falls_back_to_sm2 (line 683) | fn missing_memory_state_falls_back_to_sm2() -> Result<()> { FILE: rslib/src/storage/sync.rs method usn (line 12) | pub(crate) fn usn(&self, server: bool) -> Result { method set_usn (line 23) | pub(crate) fn set_usn(&self, usn: Usn) -> Result<()> { method increment_usn (line 30) | pub(crate) fn increment_usn(&self) -> Result<()> { method objects_pending_sync (line 37) | pub(crate) fn objects_pending_sync(&self, table: &str, usn: ... method maybe_update_object_usns (line 48) | pub(crate) fn maybe_update_object_usns( method pending_object_clause (line 68) | pub(crate) fn pending_object_clause(self) -> &'static str { FILE: rslib/src/storage/sync_check.rs method table_has_usn (line 11) | fn table_has_usn(&self, table: &str) -> Result { method table_count (line 20) | fn table_count(&self, table: &str) -> Result { method sanity_check_info (line 26) | pub(crate) fn sanity_check_info(&self) -> Result { FILE: rslib/src/storage/tag/mod.rs function row_to_tag (line 14) | fn row_to_tag(row: &Row) -> Result { method all_tags (line 24) | pub fn all_tags(&self) -> Result> { method expanded_tags (line 31) | pub(crate) fn expanded_tags(&self) -> Result> { method restore_expanded_tags (line 38) | pub(crate) fn restore_expanded_tags(&self, tags: &[String]) -> Result<()> { method get_tag (line 48) | pub(crate) fn get_tag(&self, name: &str) -> Result> { method register_tag (line 56) | pub(crate) fn register_tag(&self, tag: &Tag) -> Result<()> { method preferred_tag_case (line 63) | pub(crate) fn preferred_tag_case(&self, tag: &str) -> Result(&self, mut want: F) -> Result Result<()> { method update_tag (line 100) | pub(crate) fn update_tag(&self, tag: &Tag) -> Result<()> { method clear_all_tags (line 107) | pub(crate) fn clear_all_tags(&self) -> Result<()> { method clear_tag_usns (line 112) | pub(crate) fn clear_tag_usns(&self) -> Result<()> { method tags_pending_sync (line 120) | pub(crate) fn tags_pending_sync(&self, usn: Usn) -> Result> { method update_tag_usns (line 130) | pub(crate) fn update_tag_usns(&self, tags: &[String], new_usn: Usn) -> R... method upgrade_tags_to_schema14 (line 142) | pub(super) fn upgrade_tags_to_schema14(&self) -> Result<()> { method downgrade_tags_from_schema14 (line 161) | pub(super) fn downgrade_tags_from_schema14(&self) -> Result<()> { method upgrade_tags_to_schema17 (line 171) | pub(super) fn upgrade_tags_to_schema17(&self) -> Result<()> { FILE: rslib/src/storage/upgrades/mod.rs constant SCHEMA_MIN_VERSION (line 5) | pub(super) const SCHEMA_MIN_VERSION: u8 = 11; constant SCHEMA_STARTING_VERSION (line 7) | pub(super) const SCHEMA_STARTING_VERSION: u8 = 11; constant SCHEMA_MAX_VERSION (line 9) | pub(super) const SCHEMA_MAX_VERSION: u8 = 18; method upgrade_to_latest_schema (line 16) | pub(super) fn upgrade_to_latest_schema(&self, ver: u8, server: bool) -> ... method downgrade_to (line 52) | pub(super) fn downgrade_to(&self, ver: SchemaVersion) -> Result<()> { method downgrade_to_schema_11 (line 59) | fn downgrade_to_schema_11(&self) -> Result<()> { function assert_18_is_latest_schema_version (line 88) | fn assert_18_is_latest_schema_version() { function valid_ease_factor_survives_upgrade_roundtrip (line 96) | fn valid_ease_factor_survives_upgrade_roundtrip() -> Result<()> { FILE: rslib/src/storage/upgrades/schema14_upgrade.sql type deck_config (line 1) | CREATE TABLE deck_config ( type config (line 8) | CREATE TABLE config ( type tags (line 14) | CREATE TABLE tags ( FILE: rslib/src/storage/upgrades/schema15_upgrade.sql type fields (line 1) | CREATE TABLE fields ( type idx_fields_name_ntid (line 8) | CREATE UNIQUE INDEX idx_fields_name_ntid ON fields (name, ntid) type templates (line 9) | CREATE TABLE templates ( type idx_templates_name_ntid (line 18) | CREATE UNIQUE INDEX idx_templates_name_ntid ON templates (name, ntid) type idx_templates_usn (line 19) | CREATE INDEX idx_templates_usn ON templates (usn) type notetypes (line 20) | CREATE TABLE notetypes ( type idx_notetypes_name (line 27) | CREATE UNIQUE INDEX idx_notetypes_name ON notetypes (name) type idx_notetypes_usn (line 28) | CREATE INDEX idx_notetypes_usn ON notetypes (usn) type decks (line 29) | CREATE TABLE decks ( type idx_decks_name (line 37) | CREATE UNIQUE INDEX idx_decks_name ON decks (name) type idx_notes_mid (line 38) | CREATE INDEX idx_notes_mid ON notes (mid) type idx_cards_odid (line 39) | CREATE INDEX idx_cards_odid ON cards (odid) FILE: rslib/src/storage/upgrades/schema17_upgrade.sql type tags (line 2) | CREATE TABLE tags ( FILE: rslib/src/storage/upgrades/schema18_downgrade.sql type graves (line 3) | CREATE TABLE graves ( FILE: rslib/src/storage/upgrades/schema18_upgrade.sql type graves (line 3) | CREATE TABLE graves ( type idx_graves_pending (line 16) | CREATE INDEX idx_graves_pending ON graves (usn) FILE: rslib/src/sync/collection/changes.rs type ApplyChangesRequest (line 29) | pub struct ApplyChangesRequest { type UnchunkedChanges (line 34) | pub struct UnchunkedChanges { type DecksAndConfig (line 49) | pub struct DecksAndConfig { function process_unchunked_changes (line 59) | pub(in crate::sync) async fn process_unchunked_changes( method local_unchunked_changes (line 116) | pub(in crate::sync) fn local_unchunked_changes( method changed_notetypes (line 139) | fn changed_notetypes( method changed_decks (line 161) | fn changed_decks( method changed_deck_config (line 181) | fn changed_deck_config( method changed_tags (line 202) | fn changed_tags( method changed_config (line 216) | fn changed_config(&self) -> Result> { method apply_changes (line 225) | pub(in crate::sync) fn apply_changes( method merge_notetypes (line 245) | fn merge_notetypes(&mut self, notetypes: Vec, latest_u... method merge_decks (line 274) | fn merge_decks(&mut self, decks: Vec, latest_usn: Usn) -> ... method merge_deck_config (line 291) | fn merge_deck_config(&self, dconf: Vec) -> Result<()> { method merge_tags (line 307) | fn merge_tags(&mut self, tags: Vec, latest_usn: Usn) -> Result<(... function server_apply_changes (line 315) | pub fn server_apply_changes( FILE: rslib/src/sync/collection/chunks.rs type ChunkableIds (line 28) | pub(in crate::sync) struct ChunkableIds { type Chunk (line 35) | pub struct Chunk { type NoteEntry (line 47) | pub struct NoteEntry { method from (line 385) | fn from(e: Note) -> Self { type CardEntry (line 64) | pub struct CardEntry { method from (line 343) | fn from(e: Card) -> Self { function process_chunks_from_server (line 90) | pub(in crate::sync) async fn process_chunks_from_server( function send_chunks_to_server (line 120) | pub(in crate::sync) async fn send_chunks_to_server( method apply_chunk (line 162) | pub(in crate::sync) fn apply_chunk(&mut self, chunk: Chunk, pending_usn:... method merge_revlog (line 168) | fn merge_revlog(&self, entries: Vec) -> Result<()> { method merge_cards (line 175) | fn merge_cards(&self, entries: Vec, pending_usn: Usn) -> Resu... method add_or_update_card_if_newer (line 182) | fn add_or_update_card_if_newer(&self, entry: CardEntry, pending_usn: Usn... method merge_notes (line 195) | fn merge_notes(&mut self, entries: Vec, pending_usn: Usn) -> ... method add_or_update_note_if_newer (line 202) | fn add_or_update_note_if_newer(&mut self, entry: NoteEntry, pending_usn:... method get_chunkable_ids (line 222) | pub(in crate::sync) fn get_chunkable_ids(&self, pending_usn: Usn) -> Res... method get_chunk (line 231) | pub(in crate::sync) fn get_chunk( method from (line 312) | fn from(e: CardEntry) -> Self { method from (line 368) | fn from(e: NoteEntry) -> Self { function server_chunk (line 402) | pub fn server_chunk(col: &mut Collection, state: &mut ServerSyncState) -... function server_apply_chunk (line 409) | pub fn server_apply_chunk( method is_pending_sync (line 418) | pub(crate) fn is_pending_sync(self, pending_usn: Usn) -> bool { constant CHUNK_SIZE (line 427) | pub const CHUNK_SIZE: usize = 250; type ApplyChunkRequest (line 430) | pub struct ApplyChunkRequest { FILE: rslib/src/sync/collection/download.rs method full_download (line 21) | pub async fn full_download(self, auth: SyncAuth, client: Client) -> Resu... method full_download_with_server (line 27) | pub(super) async fn full_download_with_server(self, server: HttpSyncClie... function server_download (line 49) | pub fn server_download( FILE: rslib/src/sync/collection/finish.rs function finalize (line 11) | pub(in crate::sync) async fn finalize(&mut self, state: &ClientSyncState... method finalize_sync (line 18) | fn finalize_sync( function server_finish (line 31) | pub fn server_finish(col: &mut Collection) -> Result { FILE: rslib/src/sync/collection/graves.rs type ApplyGravesRequest (line 12) | pub struct ApplyGravesRequest { type Graves (line 17) | pub struct Graves { method take_chunk (line 24) | pub(in crate::sync) fn take_chunk(&mut self) -> Option { method apply_graves (line 48) | pub fn apply_graves(&self, graves: Graves, latest_usn: Usn) -> Result<()> { function server_apply_graves (line 65) | pub fn server_apply_graves( FILE: rslib/src/sync/collection/meta.rs type SyncMeta (line 31) | pub struct SyncMeta { method compared_to_remote (line 60) | pub(in crate::sync) fn compared_to_remote( method meta_with_redirect (line 95) | pub(in crate::sync) async fn meta_with_redirect( type MetaRequest (line 121) | pub struct MetaRequest { method request (line 177) | pub fn request() -> SyncRequest { method sync_meta (line 129) | pub fn sync_meta(&self) -> Result { function server_meta (line 152) | pub fn server_meta(req: MetaRequest, col: &mut Collection) -> HttpResult... FILE: rslib/src/sync/collection/normal.rs type NormalSyncer (line 22) | pub struct NormalSyncer<'a> { type NormalSyncProgress (line 29) | pub struct NormalSyncProgress { type SyncActionRequired (line 38) | pub enum SyncActionRequired { type ClientSyncState (line 45) | pub struct ClientSyncState { function new (line 61) | pub fn new(col: &mut Collection, server: HttpSyncClient) -> NormalSyncer... function sync (line 69) | pub async fn sync(&mut self) -> error::Result { function normal_sync_inner (line 121) | async fn normal_sync_inner(&mut self, mut state: ClientSyncState) -> err... type SyncOutput (line 147) | pub struct SyncOutput { method from (line 157) | fn from(s: ClientSyncState) -> Self { method normal_sync (line 169) | pub async fn normal_sync( FILE: rslib/src/sync/collection/progress.rs type SyncStage (line 13) | pub enum SyncStage { type FullSyncProgress (line 21) | pub struct FullSyncProgress { function sync_abort (line 26) | pub async fn sync_abort(auth: SyncAuth, client: Client) -> error::Result... FILE: rslib/src/sync/collection/protocol.rs type SyncMethod (line 35) | pub enum SyncMethod { type AsSyncEndpoint (line 50) | pub trait AsSyncEndpoint: Into<&'static str> { method as_sync_endpoint (line 51) | fn as_sync_endpoint(&self, base: &Url) -> Url; method as_sync_endpoint (line 55) | fn as_sync_endpoint(&self, base: &Url) -> Url { type SyncProtocol (line 61) | pub trait SyncProtocol: Send + Sync + 'static { method host_key (line 62) | async fn host_key( method meta (line 66) | async fn meta(&self, req: SyncRequest) -> HttpResult) -> HttpResult) -> HttpResult) -> HttpResult>) -> HttpResult) -> HttpResult SyncRequest { FILE: rslib/src/sync/collection/sanity.rs type SanityCheckResponse (line 18) | pub struct SanityCheckResponse { type SanityCheckStatus (line 28) | pub enum SanityCheckStatus { type SanityCheckCounts (line 34) | pub struct SanityCheckCounts { type SanityCheckDueCounts (line 47) | pub struct SanityCheckDueCounts { function sanity_check (line 55) | pub(in crate::sync) async fn sanity_check(&mut self) -> Result<()> { function server_sanity_check (line 85) | pub fn server_sanity_check( type SanityCheckRequest (line 120) | pub struct SanityCheckRequest { FILE: rslib/src/sync/collection/start.rs function start_and_process_deletions (line 19) | pub(in crate::sync) async fn start_and_process_deletions( type StartRequest (line 78) | pub struct StartRequest { function server_start (line 88) | pub fn server_start( type ServerSyncState (line 117) | pub struct ServerSyncState { method new (line 132) | pub fn new(skey: impl Into) -> Self { function legacy_graves (line 143) | pub(crate) fn legacy_graves<'de, D>(deserializer: D) -> Result(list: Vec) -> Result, E> FILE: rslib/src/sync/collection/status.rs method sync_status_offline (line 16) | pub fn sync_status_offline(&mut self) -> Result(op: F) -> Result<()> function unwrap_sync_err_kind (line 115) | fn unwrap_sync_err_kind(err: AnkiError) -> SyncErrorKind { function host_key (line 126) | async fn host_key() -> Result<()> { function meta (line 162) | async fn meta() -> Result<()> { function aborting_is_idempotent (line 186) | async fn aborting_is_idempotent() -> Result<()> { function new_syncs_cancel_old_ones (line 217) | async fn new_syncs_cancel_old_ones() -> Result<()> { function sync_roundtrip (line 279) | async fn sync_roundtrip() -> Result<()> { function sanity_check_should_roll_back_and_force_full_sync (line 290) | async fn sanity_check_should_roll_back_and_force_full_sync() -> Result<(... function sync_errors_should_prompt_db_check (line 341) | async fn sync_errors_should_prompt_db_check() -> Result<()> { function string_grave_ids_are_handled (line 396) | async fn string_grave_ids_are_handled() -> Result<()> { function invalid_uploads_should_be_handled (line 435) | async fn invalid_uploads_should_be_handled() -> Result<()> { function meta_redirect_is_handled (line 452) | async fn meta_redirect_is_handled() -> Result<()> { type SyncTestContext (line 482) | pub(in crate::sync) struct SyncTestContext { method new (line 488) | pub fn new(client: HttpSyncClient) -> Self { method col1 (line 495) | pub fn col1(&self) -> Collection { method col2 (line 503) | pub fn col2(&self) -> Collection { method normal_sync (line 511) | async fn normal_sync(&self, col: &mut Collection) -> SyncOutput { method full_upload (line 518) | async fn full_upload(&self, col: Collection) { method full_download (line 524) | async fn full_download(&self, col: Collection) { method cloned_client (line 530) | fn cloned_client(&self) -> HttpSyncClient { function col1_setup (line 538) | fn col1_setup(col: &mut Collection) { function upload_download (line 545) | async fn upload_download(ctx: &SyncTestContext) -> Result<()> { function regular_sync (line 579) | async fn regular_sync(ctx: &SyncTestContext) -> Result<()> { FILE: rslib/src/sync/collection/upload.rs constant CORRUPT_MESSAGE (line 31) | pub const CORRUPT_MESSAGE: &str = method full_upload (line 36) | pub async fn full_upload(self, auth: SyncAuth, client: Client) -> Result... method full_upload_with_server (line 42) | pub(super) async fn full_upload_with_server(mut self, server: HttpSyncCl... function handle_received_upload (line 71) | pub fn handle_received_upload( method into_response (line 105) | fn into_response(self) -> Response { type UploadResponse (line 116) | pub enum UploadResponse { function check_upload_limit (line 121) | pub fn check_upload_limit(size: usize, limit: usize) -> Result<()> { function gzipped_data_from_vec (line 136) | pub async fn gzipped_data_from_vec(vec: Vec) -> Result> { FILE: rslib/src/sync/error.rs type HttpResult (line 13) | pub type HttpResult = Result; type HttpError (line 16) | pub struct HttpError { method new_without_source (line 38) | pub fn new_without_source(code: StatusCode, context: impl Into... method fail (line 47) | pub fn fail(self) -> Result { method fmt (line 23) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { method source (line 29) | fn source(&self) -> Option<&(dyn Error + 'static)> { method into_response (line 53) | fn into_response(self) -> Response { type OrHttpErr (line 72) | pub trait OrHttpErr { method or_http_err (line 75) | fn or_http_err( method or_bad_request (line 81) | fn or_bad_request(self, context: impl Into) -> Result) -> Result) -> Result) -> Result) -> Result) -> Result>); method new (line 43) | pub fn new() -> Self { method wrap_stream (line 53) | pub fn wrap_stream( method timeout (line 89) | pub async fn timeout(&self, stall_time: Duration) { method zstd_request_with_timeout (line 103) | pub async fn zstd_request_with_timeout( function map_redirect_to_error (line 162) | fn map_redirect_to_error(resp: &Response) -> HttpResult<()> { type IoMonitorInner (line 176) | pub struct IoMonitorInner { function millis (line 205) | fn millis(millis: u64) -> Duration { function can_fail_before_any_bytes (line 210) | async fn can_fail_before_any_bytes() { function fails_when_data_stops_moving (line 228) | async fn fails_when_data_stops_moving() { function connect_timeout_works (line 256) | async fn connect_timeout_works() { function http_success (line 267) | async fn http_success() { function delay_before_reply_fails (line 284) | async fn delay_before_reply_fails() { FILE: rslib/src/sync/http_client/mod.rs type HttpSyncClient (line 27) | pub struct HttpSyncClient { method new (line 37) | pub fn new(auth: SyncAuth, client: Client) -> HttpSyncClient { method request (line 50) | async fn request( method request_ext (line 58) | async fn request_ext( method endpoint (line 83) | pub(crate) fn endpoint(&self) -> &Url { method set_skey (line 88) | pub(crate) fn set_skey(&mut self, skey: String) { method skey (line 93) | pub(crate) fn skey(&self) -> &str { method from (line 99) | fn from(err: Error) -> Self { function simple_session_id (line 109) | fn simple_session_id() -> String { FILE: rslib/src/sync/http_client/protocol.rs method host_key (line 42) | async fn host_key( method meta (line 49) | async fn meta(&self, req: SyncRequest) -> HttpResult) -> HttpResult) -> HttpResult) -> HttpResult>) -> HttpResult) -> HttpResult) -> HttpResult) -> HttpResult) -> HttpResult) -> HttpResult>) -> HttpResult) -> HttpResult Router { FILE: rslib/src/sync/http_server/media_manager/download.rs method zip_files_for_download (line 18) | pub fn zip_files_for_download(&mut self, files: Vec) -> HttpResu... method gather_file_data (line 25) | fn gather_file_data(&mut self, entries: &[MediaEntry]) -> HttpResult HttpResult { method last_usn (line 35) | pub fn last_usn(&self) -> HttpResult { method media_changes_chunk (line 39) | pub fn media_changes_chunk(&self, after_usn: Usn) -> HttpResult HttpResult) -> error::Result<(), ... function remove_file (line 85) | fn remove_file(path: &Path) -> error::Result<(), FileIoError> { FILE: rslib/src/sync/http_server/mod.rs type SimpleServer (line 54) | pub struct SimpleServer { method with_authenticated_user (line 155) | pub(in crate::sync) async fn with_authenticated_user( method get_host_key (line 174) | pub(in crate::sync) fn get_host_key( method is_running (line 222) | pub fn is_running() -> bool { method new (line 228) | pub fn new(base_folder: &Path) -> error::Result { method make_server (line 235) | pub async fn make_server( method run (line 269) | pub async fn run() -> error::Result<(), Whatever> { type SimpleServerInner (line 58) | pub struct SimpleServerInner { method new_from_env (line 94) | fn new_from_env(base_folder: &Path) -> error::Result { type SyncServerConfig (line 64) | pub struct SyncServerConfig { function default_host (line 75) | fn default_host() -> IpAddr { function default_port (line 79) | fn default_port() -> u16 { function default_base (line 83) | fn default_base() -> PathBuf { function default_ip_header (line 89) | pub fn default_ip_header() -> ClientIpSource { function derive_hkey (line 150) | fn derive_hkey(user_and_pass: &str) -> String { type ServerFuture (line 279) | pub type ServerFuture = Pin( function collection_sync_router (line 55) | pub fn collection_sync_router() -> Router

{ function media_begin_get (line 61) | async fn media_begin_get( function media_begin_post (line 78) | async fn media_begin_post( function health_check_handler (line 91) | pub async fn health_check_handler() -> impl IntoResponse { function media_sync_handler (line 95) | async fn media_sync_handler( function media_sync_router (line 109) | pub fn media_sync_router() -> Router

{ FILE: rslib/src/sync/http_server/user.rs type User (line 16) | pub(in crate::sync) struct User { method with_col (line 27) | pub(crate) fn with_col(&mut self, op: F) -> HttpResult method with_sync_state (line 39) | pub(crate) fn with_sync_state(&mut self, skey: &str, op: F) -> H... method abort_stateful_sync_if_active (line 67) | pub(crate) fn abort_stateful_sync_if_active(&mut self) { method start_new_sync (line 75) | pub(crate) fn start_new_sync(&mut self, skey: &str) -> HttpResult<()> { method ensure_col_open (line 81) | pub(crate) fn ensure_col_open(&mut self) -> HttpResult<()> { method open_collection (line 88) | fn open_collection(&mut self) -> HttpResult { FILE: rslib/src/sync/login.rs type SyncAuth (line 15) | pub struct SyncAuth { type HostKeyRequest (line 22) | pub struct HostKeyRequest { type HostKeyResponse (line 30) | pub struct HostKeyResponse { function sync_login (line 34) | pub async fn sync_login>( FILE: rslib/src/sync/media/begin.rs type SyncBeginQuery (line 11) | pub struct SyncBeginQuery { type SyncBeginRequest (line 19) | pub struct SyncBeginRequest { type SyncBeginResponse (line 28) | pub struct SyncBeginResponse { FILE: rslib/src/sync/media/changes.rs type MediaChangesRequest (line 15) | pub struct MediaChangesRequest { type MediaChangesResponse (line 19) | pub type MediaChangesResponse = Vec; type MediaChange (line 22) | pub struct MediaChange { type LocalState (line 29) | pub enum LocalState { type RequiredChange (line 36) | pub enum RequiredChange { function determine_required_change (line 44) | pub fn determine_required_change( function determine_required_changes (line 76) | pub fn determine_required_changes( function required_change (line 124) | fn required_change() { FILE: rslib/src/sync/media/database/client/changetracker.rs type FilesystemEntry (line 20) | struct FilesystemEntry { type ChangeTracker (line 27) | pub(crate) struct ChangeTracker<'a, F> function new (line 40) | pub(crate) fn new(media_folder: &Path, progress: F) -> ChangeTracker<'_,... function fire_progress_cb (line 48) | fn fire_progress_cb(&mut self) -> Result<()> { function register_changes (line 56) | pub(crate) fn register_changes(&mut self, ctx: &MediaDatabase) -> Result... function media_folder_changes (line 94) | fn media_folder_changes( function add_updated_entries (line 185) | fn add_updated_entries( function remove_deleted_files (line 220) | fn remove_deleted_files(&mut self, ctx: &MediaDatabase, removed: Vec Result<()> { FILE: rslib/src/sync/media/database/client/mod.rs type Checksums (line 21) | pub struct Checksums(HashMap); method get (line 26) | pub fn get(&self, key: impl AsRef) -> Option<&Sha1Hash> { method contains_key (line 30) | pub fn contains_key(&self, key: impl AsRef) -> bool { type MediaEntry (line 36) | pub struct MediaEntry { type MediaDatabaseMetadata (line 47) | pub struct MediaDatabaseMetadata { type MediaDatabase (line 52) | pub struct MediaDatabase { method new (line 57) | pub(crate) fn new(db_path: &Path) -> error::Result { method transact (line 65) | pub(crate) fn transact(&self, func: F) -> error::Result method begin (line 86) | fn begin(&self) -> error::Result<()> { method commit (line 90) | fn commit(&self) -> error::Result<()> { method rollback (line 94) | fn rollback(&self) -> error::Result<()> { method get_entry (line 98) | pub(crate) fn get_entry(&self, fname: &str) -> error::Result error::Result<()> { method remove_entry (line 127) | pub(crate) fn remove_entry(&self, fname: &str) -> error::Result<()> { method get_meta (line 138) | pub(crate) fn get_meta(&self) -> error::Result { method set_meta (line 150) | pub(crate) fn set_meta(&self, meta: &MediaDatabaseMetadata) -> error::... method count (line 157) | pub(crate) fn count(&self) -> error::Result { method get_pending_uploads (line 167) | pub(crate) fn get_pending_uploads(&self, max_entries: u32) -> error::R... method all_mtimes (line 181) | pub(crate) fn all_mtimes(&self) -> error::Result> { method all_registered_checksums (line 192) | pub(crate) fn all_registered_checksums(&self) -> error::Result error::Result<()> { method record_clean (line 206) | pub(crate) fn record_clean(&self, clean: &[String]) -> error::Result<(... method record_additions (line 219) | pub fn record_additions(&self, additions: Vec) -> error::Re... method record_removals (line 261) | pub fn record_removals(&self, removals: &[String]) -> error::Result<()> { function row_to_entry (line 270) | fn row_to_entry(row: &Row) -> rusqlite::Result { function row_to_name_and_checksum (line 291) | fn row_to_name_and_checksum(row: &Row) -> error::Result<(String, Sha1Has... function trace (line 301) | fn trace(event: rusqlite::trace::TraceEvent) { function open_or_create (line 307) | pub(crate) fn open_or_create>(path: P) -> error::Result error::Result<()> { function database (line 353) | fn database() -> Result<()> { FILE: rslib/src/sync/media/database/client/schema.sql type media (line 1) | CREATE TABLE media ( type idx_media_dirty (line 9) | CREATE INDEX idx_media_dirty ON media (dirty) type meta (line 11) | CREATE TABLE meta (dirMod int, lastUsn int) FILE: rslib/src/sync/media/database/server/entry/changes.rs method from_row (line 11) | fn from_row(row: &Row) -> Result { method media_changes_chunk (line 20) | pub fn media_changes_chunk(&self, after_usn: Usn) -> Result HttpResult error::Resu... FILE: rslib/src/sync/media/database/server/entry/mod.rs method get_nonempty_entry (line 22) | pub fn get_nonempty_entry(&self, nfc_filename: &str) -> error::Result error::Result error::Result<()> { method add_entry (line 51) | fn add_entry( method replace_entry (line 73) | fn replace_entry( method remove_entry (line 87) | fn remove_entry( type MediaEntry (line 99) | pub struct MediaEntry { method from_row (line 109) | pub fn from_row(row: &Row) -> std::result::Result bool { FILE: rslib/src/sync/media/database/server/entry/upload.rs type UploadedChangeResult (line 10) | pub enum UploadedChangeResult { method register_uploaded_change (line 37) | pub fn register_uploaded_change( FILE: rslib/src/sync/media/database/server/meta/mod.rs type StoreMetadata (line 14) | pub struct StoreMetadata { method add_entry (line 21) | pub(crate) fn add_entry(&mut self, entry: &mut MediaEntry) { method replace_entry (line 30) | pub(crate) fn replace_entry(&mut self, entry: &mut MediaEntry, new_siz... method remove_entry (line 39) | pub(crate) fn remove_entry(&mut self, entry: &mut MediaEntry) { method from_row (line 50) | fn from_row(row: &Row) -> error::Result { method next_usn (line 58) | fn next_usn(&mut self) -> Usn { method with_transaction (line 68) | pub fn with_transaction(&mut self, op: F) -> error::Result method last_usn (line 85) | pub fn last_usn(&self) -> error::Result { method get_meta (line 89) | fn get_meta(&self) -> error::Result { method set_meta (line 96) | fn set_meta(&mut self, meta: &StoreMetadata) -> error::Result<()> { method nonempty_file_count (line 107) | pub fn nonempty_file_count(&self) -> error::Result { method total_bytes (line 111) | pub fn total_bytes(&self) -> error::Result { FILE: rslib/src/sync/media/database/server/mod.rs type ServerMediaDatabase (line 13) | pub struct ServerMediaDatabase { method new (line 18) | pub fn new(path: &Path) -> Result { function open_or_create_db (line 25) | fn open_or_create_db(path: &Path) -> Result { FILE: rslib/src/sync/media/database/server/schema_v3.sql type media (line 2) | CREATE TABLE IF NOT EXISTS media ( type ix_usn (line 9) | CREATE INDEX IF NOT EXISTS ix_usn ON media (usn) type meta (line 10) | CREATE TABLE IF NOT EXISTS meta (usn int NOT NULL, sz int NOT NULL) FILE: rslib/src/sync/media/database/server/schema_v4.sql type media (line 8) | CREATE TABLE media ( type ix_usn (line 25) | CREATE INDEX ix_usn ON media (usn) type meta (line 28) | CREATE TABLE meta ( FILE: rslib/src/sync/media/download.rs type DownloadFilesRequest (line 19) | pub struct DownloadFilesRequest { function extract_into_media_folder (line 23) | pub(crate) fn extract_into_media_folder( FILE: rslib/src/sync/media/mod.rs constant MAX_MEDIA_FILENAME_LENGTH_SERVER (line 24) | pub const MAX_MEDIA_FILENAME_LENGTH_SERVER: usize = 255; FILE: rslib/src/sync/media/progress.rs type MediaSyncProgress (line 5) | pub struct MediaSyncProgress { type MediaCheckProgress (line 15) | pub struct MediaCheckProgress { FILE: rslib/src/sync/media/protocol.rs type MediaSyncMethod (line 29) | pub enum MediaSyncMethod { method as_sync_endpoint (line 38) | fn as_sync_endpoint(&self, base: &Url) -> Url { type MediaSyncProtocol (line 44) | pub trait MediaSyncProtocol: Send + Sync + 'static { method begin (line 45) | async fn begin( method media_changes (line 49) | async fn media_changes( method upload_changes (line 53) | async fn upload_changes( method download_files (line 57) | async fn download_files( method media_sanity_check (line 61) | async fn media_sanity_check( type JsonResult (line 71) | pub enum JsonResult { function ok (line 83) | pub fn ok(inner: T) -> Self { function json_result (line 95) | pub fn json_result(&self) -> error::Result { FILE: rslib/src/sync/media/sanity.rs type SanityCheckRequest (line 8) | pub struct SanityCheckRequest { type MediaSanityCheckResponse (line 13) | pub enum MediaSanityCheckResponse { FILE: rslib/src/sync/media/syncer.rs type MediaSyncer (line 34) | pub struct MediaSyncer { method new (line 41) | pub fn new( method sync (line 53) | pub async fn sync(&mut self, server_usn: Option) -> Result<()> { method sync_inner (line 61) | async fn sync_inner(&mut self, server_usn: Option) -> Result<()> { method begin_sync (line 97) | async fn begin_sync(&mut self) -> Result { method register_changes (line 118) | fn register_changes(&mut self) -> Result<()> { method fetch_changes (line 124) | async fn fetch_changes(&mut self, mut meta: MediaDatabaseMetadata) -> ... method send_changes (line 192) | async fn send_changes(&mut self) -> Result<()> { method finalize_sync (line 257) | async fn finalize_sync(&mut self) -> Result<()> { FILE: rslib/src/sync/media/tests.rs function begin_supports_get (line 38) | async fn begin_supports_get() -> Result<()> { function begin_supports_version_in_form (line 59) | async fn begin_supports_version_in_form() -> Result<()> { function legacy_session_key_works (line 81) | async fn legacy_session_key_works() -> Result<()> { function sanity_check (line 106) | async fn sanity_check() -> Result<()> { function ignore_progress (line 138) | fn ignore_progress() -> ThrottlingProgressHandler { method media1 (line 143) | fn media1(&self) -> MediaManager { method media2 (line 147) | fn media2(&self) -> MediaManager { method sync_media1 (line 151) | async fn sync_media1(&self) -> Result<()> { method sync_media2 (line 157) | async fn sync_media2(&self) -> Result<()> { method sleep (line 167) | fn sleep(&self) { function media_roundtrip (line 173) | async fn media_roundtrip() -> Result<()> { function parallel_requests (line 221) | async fn parallel_requests() -> Result<()> { FILE: rslib/src/sync/media/upload.rs type MediaUploadResponse (line 20) | pub struct MediaUploadResponse { type ZipDataForUpload (line 30) | type ZipDataForUpload = Vec<(String, Option>)>; function gather_zip_data_for_upload (line 36) | pub fn gather_zip_data_for_upload( FILE: rslib/src/sync/media/zip.rs type ZipFileMetadata (line 20) | pub struct ZipFileMetadata { function zip_files_for_download (line 29) | pub fn zip_files_for_download(files: Vec<(String, Vec)>) -> Result>)>) ->... type UploadedChange (line 83) | pub struct UploadedChange { type UploadedChangeKind (line 88) | pub enum UploadedChangeKind { function unzip_and_validate_files (line 96) | pub fn unzip_and_validate_files(zip_data: &[u8]) -> Result( function decode_zstd_body_for_server (line 57) | pub async fn decode_zstd_body_for_server(data: S) -> HttpResult(data: S) -> impl Stream<... function encode_zstd_body (line 92) | pub fn encode_zstd_body(data: Vec) -> impl Stream(data: S) -> impl Stream &'static HeaderName { method decode (line 136) | fn decode<'i, I>(values: &mut I) -> Result>(&self, _values: &mut E) { FILE: rslib/src/sync/request/mod.rs type SyncRequest (line 38) | pub struct SyncRequest { function from_data (line 58) | pub fn from_data( function into_output_type (line 78) | pub fn into_output_type(self) -> SyncRequest { function json (line 91) | pub fn json(&self) -> HttpResult { function skey (line 95) | pub fn skey(&self) -> HttpResult<&str> { type Rejection (line 108) | type Rejection = HttpError; function from_request (line 110) | async fn from_request(req: Request, state: &S) -> Result Result, serde_json... method try_into_sync_request (line 151) | fn try_into_sync_request(self) -> Result, Error> FILE: rslib/src/sync/request/multipart.rs function from_multipart (line 22) | pub(super) async fn from_multipart( function decode_gzipped_data (line 86) | pub async fn decode_gzipped_data(data: Bytes) -> HttpResult> { function decode_gzipped_data_inner (line 97) | fn decode_gzipped_data_inner(data: Bytes) -> HttpResult> { FILE: rslib/src/sync/response.rs type SyncResponse (line 26) | pub struct SyncResponse { function from_vec (line 32) | pub fn from_vec(data: Vec) -> SyncResponse { function make_response (line 39) | pub fn make_response(self, sync_version: SyncVersion) -> Response { function upload_response (line 53) | pub fn upload_response(&self) -> UploadResponse { function from_upload_response (line 61) | pub fn from_upload_response(resp: UploadResponse) -> Self { function try_from_obj (line 74) | pub fn try_from_obj(obj: T) -> HttpResult> { function json (line 84) | pub fn json(&self) -> Result { FILE: rslib/src/sync/version.rs constant SYNC_VERSION_MIN (line 11) | pub const SYNC_VERSION_MIN: u8 = SYNC_VERSION_08_SESSIONKEY; constant SYNC_VERSION_MAX (line 12) | pub const SYNC_VERSION_MAX: u8 = SYNC_VERSION_11_DIRECT_POST; constant SYNC_VERSION_08_SESSIONKEY (line 17) | pub const SYNC_VERSION_08_SESSIONKEY: u8 = 8; constant SYNC_VERSION_09_V2_SCHEDULER (line 25) | pub const SYNC_VERSION_09_V2_SCHEDULER: u8 = 9; constant SYNC_VERSION_10_V2_TIMEZONE (line 29) | pub const SYNC_VERSION_10_V2_TIMEZONE: u8 = 10; constant SYNC_VERSION_11_DIRECT_POST (line 35) | pub const SYNC_VERSION_11_DIRECT_POST: u8 = 11; type SyncVersion (line 39) | pub struct SyncVersion(pub u8); method is_too_old (line 42) | pub fn is_too_old(&self) -> bool { method is_too_new (line 46) | pub fn is_too_new(&self) -> bool { method ensure_supported (line 50) | pub fn ensure_supported(&self) -> HttpResult<()> { method latest (line 57) | pub fn latest() -> Self { method multipart (line 61) | pub fn multipart() -> Self { method is_multipart (line 65) | pub fn is_multipart(&self) -> bool { method is_zstd (line 69) | pub fn is_zstd(&self) -> bool { method collection_schema (line 73) | pub fn collection_schema(&self) -> SchemaVersion { FILE: rslib/src/tags/bulkadd.rs method add_tags_to_notes (line 16) | pub fn add_tags_to_notes(&mut self, nids: &[NoteId], tags: &str) -> Resu... method add_tags_to_notes_inner (line 22) | pub(crate) fn add_tags_to_notes_inner(&mut self, nids: &[NoteId], tags: ... function add_missing_tags (line 48) | fn add_missing_tags(note_tags: &str, desired: &[UniCase]) -> Opt... function add_missing (line 79) | fn add_missing() { FILE: rslib/src/tags/complete.rs method complete_tag (line 9) | pub fn complete_tag(&self, input: &str, limit: usize) -> Result Result { function filters_match (line 38) | fn filters_match(filters: &[Regex], tag: &str) -> Option { function matching (line 63) | fn matching() -> Result<()> { FILE: rslib/src/tags/findreplace.rs method find_and_replace_tag (line 18) | pub fn find_and_replace_tag( method replace_tags_for_notes_inner (line 52) | fn replace_tags_for_notes_inner( function replace_tags (line 82) | fn replace_tags(tags: &str, regex: &Regex, mut repl: R) -> Option Result<()> { FILE: rslib/src/tags/matcher.rs type TagMatcher (line 13) | pub(crate) struct TagMatcher { method new (line 23) | pub fn new(space_separated_tags: &str) -> Result { method is_match (line 53) | pub fn is_match(&self, space_separated_tags: &str) -> bool { method replace (line 57) | pub fn replace(&mut self, space_separated_tags: &str, replacement: &st... method replace_with_fn (line 84) | pub fn replace_with_fn(&mut self, space_separated_tags: &str, repla... method remove (line 114) | pub fn remove(&mut self, space_separated_tags: &str) -> String { method into_new_tags (line 125) | pub fn into_new_tags(self) -> HashSet { function regex (line 135) | fn regex() -> Result<()> { FILE: rslib/src/tags/mod.rs type Tag (line 22) | pub struct Tag { method new (line 29) | pub fn new(name: String, usn: Usn) -> Self { method set_modified (line 37) | pub(crate) fn set_modified(&mut self, usn: Usn) { function split_tags (line 42) | pub(crate) fn split_tags(tags: &str) -> impl Iterator { function join_tags (line 46) | pub(crate) fn join_tags(tags: &[String]) -> String { function is_tag_separator (line 54) | fn is_tag_separator(c: char) -> bool { function immediate_parent_name_unicase (line 58) | pub(crate) fn immediate_parent_name_unicase(tag_name: UniCase<&str>) -> ... function immediate_parent_name_str (line 62) | fn immediate_parent_name_str(tag_name: &str) -> Option<&str> { FILE: rslib/src/tags/notes.rs method all_tags_in_deck (line 13) | pub(crate) fn all_tags_in_deck(&mut self, deck_id: DeckId) -> Result Result { method prepare_tag_for_registering (line 105) | pub(super) fn prepare_tag_for_registering(&self, tag: &mut Tag) -> Resul... method register_tag_string (line 120) | pub(super) fn register_tag_string(&mut self, tag: String, usn: Usn) -> R... method adjusted_case_for_parents (line 128) | pub(super) fn adjusted_case_for_parents(&self, tag: &str) -> Result Result bool { function normalized_tag_name_component (line 158) | fn normalized_tag_name_component(comp: &str) -> Cow<'_, str> { function normalize_tag_name (line 173) | pub(super) fn normalize_tag_name(name: &str) -> Result> { function tags (line 201) | fn tags() -> Result<()> { FILE: rslib/src/tags/remove.rs method remove_tags (line 12) | pub fn remove_tags(&mut self, tags: &str) -> Result> { method remove_tags_from_notes (line 17) | pub fn remove_tags_from_notes( method clear_unused_tags (line 28) | pub fn clear_unused_tags(&mut self) -> Result> { method remove_tags_inner (line 34) | fn remove_tags_inner(&mut self, tags: &str) -> Result { method remove_tags_from_notes_inner (line 60) | fn remove_tags_from_notes_inner(&mut self, nids: &[NoteId], tags: &str) ... method clear_unused_tags_inner (line 82) | fn clear_unused_tags_inner(&mut self) -> Result { function clearing (line 105) | fn clearing() -> Result<()> { FILE: rslib/src/tags/rename.rs method rename_tag (line 12) | pub fn rename_tag(&mut self, old_prefix: &str, new_prefix: &str) -> Resu... method rename_tag_inner (line 20) | fn rename_tag_inner(&mut self, old_prefix: &str, new_prefix: &str) -> Re... FILE: rslib/src/tags/reparent.rs method reparent_tags (line 26) | pub fn reparent_tags( method reparent_tags_inner (line 36) | pub fn reparent_tags_inner( function old_to_new_names (line 86) | fn old_to_new_names( function reparented_name (line 102) | fn reparented_name(existing_name: &str, new_parent: Option<&str>) -> Opt... function alltags (line 134) | fn alltags(col: &Collection) -> Vec { function dragdrop (line 144) | fn dragdrop() -> Result<()> { FILE: rslib/src/tags/service.rs method clear_unused_tags (line 10) | fn clear_unused_tags(&mut self) -> error::Result error::Result { method remove_tags (line 25) | fn remove_tags( method set_tag_collapsed (line 32) | fn set_tag_collapsed( method tag_tree (line 40) | fn tag_tree(&mut self) -> error::Result { method reparent_tags (line 44) | fn reparent_tags( method rename_tags (line 57) | fn rename_tags( method add_note_tags (line 65) | fn add_note_tags( method remove_note_tags (line 73) | fn remove_note_tags( method find_and_replace_tag (line 81) | fn find_and_replace_tag( method complete_tag (line 100) | fn complete_tag( FILE: rslib/src/tags/tree.rs method tag_tree (line 15) | pub fn tag_tree(&mut self) -> Result { method set_tag_collapsed (line 22) | pub fn set_tag_collapsed(&mut self, tag: &str, collapsed: bool) -> Resul... method set_tag_collapsed_inner (line 30) | fn set_tag_collapsed_inner(&mut self, name: &str, collapsed: bool, usn: ... method update_tag_inner (line 40) | fn update_tag_inner(&mut self, tag: &mut Tag, original: Tag, usn: Usn) -... function add_missing_parents (line 47) | fn add_missing_parents(tags: &mut Vec) { function tags_to_tree (line 60) | fn tags_to_tree(mut tags: Vec) -> TagTreeNode { function add_child_nodes (line 73) | fn add_child_nodes(tags: &mut Peekable>, paren... function add_tag_and_missing_parents (line 109) | fn add_tag_and_missing_parents<'a, 'b>( function node (line 128) | fn node(name: &str, level: u32, children: Vec) -> TagTreeNo... function leaf (line 137) | fn leaf(name: &str, level: u32) -> TagTreeNode { function tree (line 142) | fn tree() -> Result<()> { FILE: rslib/src/tags/undo.rs type UndoableTagChange (line 8) | pub(crate) enum UndoableTagChange { method undo_tag_change (line 15) | pub(crate) fn undo_tag_change(&mut self, change: UndoableTagChange) -> R... method update_tag_undoable (line 30) | pub(super) fn update_tag_undoable(&mut self, tag: &Tag, original: Tag) -... method register_tag_undoable (line 37) | pub(super) fn register_tag_undoable(&mut self, tag: &Tag) -> Result<()> { method remove_single_tag_undoable (line 45) | pub(super) fn remove_single_tag_undoable(&mut self, tag: Tag) -> Result<... FILE: rslib/src/template.rs type FieldMap (line 26) | pub type FieldMap<'a> = HashMap<&'a str, u16>; type TemplateResult (line 27) | type TemplateResult = std::result::Result; type TemplateMode (line 43) | enum TemplateMode { method start_tag (line 49) | fn start_tag(&self) -> &'static str { method end_tag (line 56) | fn end_tag(&self) -> &'static str { method handlebar_token (line 63) | fn handlebar_token<'b>(&self, s: &'b str) -> nom::IResult<&'b str, Tok... method next_token (line 76) | fn next_token<'b>(&self, input: &'b str) -> Option<(&'b str, Token<'b>... type Token (line 115) | pub enum Token<'a> { function comment_token (line 124) | fn comment_token(s: &str) -> nom::IResult<&str, Token<'_>> { function tokens (line 136) | fn tokens(mut template: &str) -> impl Iterator Token<'_> { type ParsedNode (line 174) | enum ParsedNode { type ParsedTemplate (line 192) | pub struct ParsedTemplate(Vec); method from_text (line 196) | pub fn from_text(template: &str) -> TemplateResult { method renders_with_fields (line 312) | pub fn renders_with_fields(&self, nonempty_fields: &HashSet<&str>) -> ... method renders_with_fields_for_reqs (line 316) | pub fn renders_with_fields_for_reqs(&self, nonempty_fields: &HashSet<&... method render (line 398) | fn render(&self, context: &RenderContext, _tr: &I18n) -> TemplateResul... method requirements (line 695) | pub fn requirements(&self, field_map: &FieldMap) -> FieldRequirements { method rename_and_remove_fields (line 733) | pub(crate) fn rename_and_remove_fields(&mut self, fields: &HashMap bool { method contains_field_replacement (line 747) | pub(crate) fn contains_field_replacement(&self) -> bool { method add_missing_field_replacement (line 753) | pub(crate) fn add_missing_field_replacement(&mut self, field_name: &st... method template_to_string (line 822) | pub(crate) fn template_to_string(&self) -> String { method all_referenced_field_names (line 871) | pub(crate) fn all_referenced_field_names(&self) -> HashSet<&str> { method all_referenced_cloze_field_names (line 878) | pub(crate) fn all_referenced_cloze_field_names(&self) -> HashSet<&str> { function parse_inner (line 202) | fn parse_inner<'a, I: Iterator>>>( function template_error_to_anki_error (line 254) | fn template_error_to_anki_error( function localized_template_error (line 274) | fn localized_template_error(tr: &I18n, err: TemplateError) -> String { function template_is_empty (line 324) | fn template_is_empty( type RenderedNode (line 367) | pub enum RenderedNode { type RenderContext (line 379) | pub(crate) struct RenderContext<'a> { function render_into (line 407) | fn render_into( function evaluate_conditional (line 514) | fn evaluate_conditional(&self, key: &str, negated: bool) -> TemplateResu... function append_str_to_nodes (line 527) | fn append_str_to_nodes(nodes: &mut Vec, text: &str) { function field_is_empty (line 543) | pub(crate) fn field_is_empty(text: &str) -> bool { function nonempty_fields (line 559) | fn nonempty_fields<'a, R>(fields: &'a HashMap<&str, R>) -> HashSet<&'a str> type RenderCardRequest (line 579) | pub struct RenderCardRequest<'a> { type RenderCardResponse (line 590) | pub struct RenderCardResponse { function render_card (line 597) | pub fn render_card( function cloze_is_empty (line 670) | fn cloze_is_empty(field_map: &HashMap<&str, Cow>, card_ord: u16) ->... type FieldRequirements (line 678) | pub enum FieldRequirements { function rename_and_remove_fields (line 763) | fn rename_and_remove_fields( function nodes_to_string (line 829) | fn nodes_to_string(buf: &mut String, nodes: &[ParsedNode]) { function find_field_references (line 885) | fn find_field_references<'a>( function is_cloze_conditional (line 911) | fn is_cloze_conditional(key: &str) -> bool { function field_empty (line 938) | fn field_empty() { function parsing (line 949) | fn parsing() { function nonempty (line 1050) | fn nonempty() { function requirements (line 1067) | fn requirements() { function alt_syntax (line 1151) | fn alt_syntax() { function render_single (line 1192) | fn render_single() { function render_card (line 1328) | fn render_card() { FILE: rslib/src/template_filters.rs function apply_filters (line 25) | pub(crate) fn apply_filters<'a>( function apply_filter (line 72) | fn apply_filter( function captured_sound (line 116) | fn captured_sound(caps: &Captures) -> bool { function kana_filter (line 120) | fn kana_filter(text: &str) -> Cow<'_, str> { function kanji_filter (line 133) | fn kanji_filter(text: &str) -> Cow<'_, str> { function furigana_filter (line 146) | fn furigana_filter(text: &str) -> Cow<'_, str> { function type_filter (line 167) | fn type_filter<'a>(field_name: &str) -> Cow<'a, str> { function type_cloze_filter (line 171) | fn type_cloze_filter<'a>(field_name: &str) -> Cow<'a, str> { function type_nc_filter (line 175) | fn type_nc_filter<'a>(field_name: &str) -> Cow<'a, str> { function hint_filter (line 179) | fn hint_filter<'a>(text: &'a str, field_name: &str) -> Cow<'a, str> { function tts_filter (line 203) | fn tts_filter(options: &str, text: &str) -> String { function furigana (line 215) | fn furigana() { function hint (line 227) | fn hint() { function typing (line 242) | fn typing() { function cloze (line 268) | fn cloze() { function tts (line 297) | fn tts() { FILE: rslib/src/tests.rs function open_fs_test_collection (line 16) | pub(crate) fn open_fs_test_collection(name: &str) -> (Collection, TempDi... function open_test_collection_with_learning_card (line 26) | pub(crate) fn open_test_collection_with_learning_card() -> Collection { function open_test_collection_with_relearning_card (line 34) | pub(crate) fn open_test_collection_with_relearning_card() -> Collection { method new (line 49) | pub(crate) fn new() -> Collection { method add_media (line 53) | pub(crate) fn add_media(&self, media: &[(&str, &[u8])]) { method get_all_notes (line 60) | pub(crate) fn get_all_notes(&mut self) -> Vec { method get_first_card (line 64) | pub(crate) fn get_first_card(&self) -> Card { method set_default_learn_steps (line 68) | pub(crate) fn set_default_learn_steps(&mut self, steps: Vec) { method set_default_relearn_steps (line 72) | pub(crate) fn set_default_relearn_steps(&mut self, steps: Vec) { method update_default_deck_config (line 78) | pub(crate) fn update_default_deck_config( method basic_notetype (line 98) | pub(crate) fn basic_notetype(&self) -> Notetype { method basic_rev_notetype (line 103) | pub(crate) fn basic_rev_notetype(&self) -> Notetype { method cloze_notetype (line 112) | pub(crate) fn cloze_notetype(&self) -> Notetype { type DeckAdder (line 119) | pub(crate) struct DeckAdder { method new (line 126) | pub(crate) fn new(human_name: impl AsRef) -> Self { method filtered (line 133) | pub(crate) fn filtered(mut self, filtered: bool) -> Self { method with_config (line 138) | pub(crate) fn with_config(mut self, modifier: impl FnOnce(&mut DeckCon... method add (line 145) | pub(crate) fn add(mut self, col: &mut Collection) -> Deck { method deck (line 158) | pub(crate) fn deck(self) -> Deck { type NoteAdder (line 170) | pub(crate) struct NoteAdder { method new (line 176) | pub(crate) fn new(notetype: &Notetype) -> Self { method basic (line 183) | pub(crate) fn basic(col: &mut Collection) -> Self { method cloze (line 187) | pub(crate) fn cloze(col: &mut Collection) -> Self { method fields (line 191) | pub(crate) fn fields(mut self, fields: &[&str]) -> Self { method deck (line 196) | pub(crate) fn deck(mut self, deck: DeckId) -> Self { method add (line 201) | pub(crate) fn add(mut self, col: &mut Collection) -> Note { method note (line 206) | pub(crate) fn note(self) -> Note { type CardAdder (line 212) | pub(crate) struct CardAdder { method new (line 219) | pub(crate) fn new() -> Self { method siblings (line 227) | pub(crate) fn siblings(mut self, siblings: usize) -> Self { method deck (line 232) | pub(crate) fn deck(mut self, deck: DeckId) -> Self { method due_dates (line 239) | pub(crate) fn due_dates(mut self, due_dates: impl Into Vec { FILE: rslib/src/text.rs type Trimming (line 20) | pub trait Trimming { method trim (line 21) | fn trim(self) -> Self; method trim (line 25) | fn trim(self) -> Self { type CowMapping (line 40) | pub(crate) trait CowMapping<'a, B: ?Sized + 'a + ToOwned> { method map_cow (line 44) | fn map_cow(self, f: impl FnOnce(&B) -> Cow) -> Self; method get_owned (line 45) | fn get_owned(self) -> Option; function map_cow (line 49) | fn map_cow(self, f: impl FnOnce(&B) -> Cow) -> Self { function get_owned (line 57) | fn get_owned(self) -> Option { function strip_utf8_bom (line 65) | pub(crate) fn strip_utf8_bom(s: &str) -> &str { type AvTag (line 70) | pub enum AvTag { function is_html (line 214) | pub fn is_html(text: impl AsRef) -> bool { function html_to_text_line (line 218) | pub fn html_to_text_line(html: &str, preserve_media_filenames: bool) -> ... function strip_html (line 232) | pub fn strip_html(html: &str) -> Cow<'_, str> { function strip_html_preserving_entities (line 236) | pub fn strip_html_preserving_entities(html: &str) -> Cow<'_, str> { function decode_entities (line 240) | pub fn decode_entities(html: &str) -> Cow<'_, str> { function newlines_to_spaces (line 252) | pub(crate) fn newlines_to_spaces(text: &str) -> Cow<'_, str> { function strip_html_for_tts (line 260) | pub fn strip_html_for_tts(html: &str) -> Cow<'_, str> { function truncate_to_char_boundary (line 267) | pub(crate) fn truncate_to_char_boundary(s: &mut String, mut max: usize) { type MediaRef (line 278) | pub(crate) struct MediaRef<'a> { function extract_media_refs (line 285) | pub(crate) fn extract_media_refs(text: &str) -> Vec> { function replace_media_refs (line 320) | pub fn replace_media_refs( function extract_underscored_css_imports (line 345) | pub(crate) fn extract_underscored_css_imports(text: &str) -> Vec<&str> { function extract_underscored_references (line 352) | pub(crate) fn extract_underscored_references(text: &str) -> Vec<&str> { function extract_match (line 362) | fn extract_match(caps: Captures<'_>) -> &str { function strip_html_preserving_media_filenames (line 366) | pub fn strip_html_preserving_media_filenames(html: &str) -> Cow<'_, str> { function contains_media_tag (line 372) | pub fn contains_media_tag(html: &str) -> bool { function sanitize_html (line 377) | pub(crate) fn sanitize_html(html: &str) -> String { function sanitize_html_no_images (line 381) | pub(crate) fn sanitize_html_no_images(html: &str) -> String { function normalize_to_nfc (line 388) | pub(crate) fn normalize_to_nfc(s: &str) -> Cow<'_, str> { function ensure_string_in_nfc (line 395) | pub(crate) fn ensure_string_in_nfc(s: &mut String) { function without_combining (line 432) | pub(crate) fn without_combining(s: &str) -> Cow<'_, str> { function is_glob (line 458) | pub(crate) fn is_glob(txt: &str) -> bool { function to_re (line 475) | pub(crate) fn to_re(txt: &str) -> Cow<'_, str> { function to_custom_re (line 480) | pub(crate) fn to_custom_re<'a>(txt: &'a str, wildcard: &str) -> Cow<'a, ... function to_sql (line 495) | pub(crate) fn to_sql(txt: &str) -> Cow<'_, str> { function to_text (line 511) | pub(crate) fn to_text(txt: &str) -> Cow<'_, str> { function escape_anki_wildcards (line 517) | pub(crate) fn escape_anki_wildcards(txt: &str) -> String { function escape_anki_wildcards_for_search_node (line 523) | pub(crate) fn escape_anki_wildcards_for_search_node(txt: &str) -> String { function glob_matcher (line 533) | pub(crate) fn glob_matcher(search: &str) -> impl Fn(&str) -> bool + '_ { constant FRAGMENT_QUERY_UNION (line 555) | const FRAGMENT_QUERY_UNION: &AsciiSet = &CONTROLS function encode_iri_paths (line 564) | pub(crate) fn encode_iri_paths(unescaped_html: &str) -> Cow<'_, str> { function decode_iri_paths (line 571) | pub(crate) fn decode_iri_paths(escaped_html: &str) -> Cow<'_, str> { function transform_html_paths (line 580) | fn transform_html_paths(html: &str, transform: F) -> Cow<'_, str> function stripping (line 607) | fn stripping() { function combining (line 624) | fn combining() { function conversion (line 630) | fn conversion() { function extracting (line 641) | fn extracting() { function replacing (line 679) | fn replacing() { function truncate (line 690) | fn truncate() { function iri_encoding (line 700) | fn iri_encoding() { FILE: rslib/src/timestamp.rs method now (line 15) | pub fn now() -> Self { method zero (line 19) | pub fn zero() -> Self { method elapsed_secs_since (line 23) | pub fn elapsed_secs_since(self, other: TimestampSecs) -> i64 { method elapsed_secs (line 27) | pub fn elapsed_secs(self) -> u64 { method elapsed_days_since (line 31) | pub fn elapsed_days_since(self, other: TimestampSecs) -> u64 { method as_millis (line 35) | pub fn as_millis(self) -> TimestampMillis { method local_datetime (line 39) | pub(crate) fn local_datetime(self) -> Result> { method date_string (line 47) | pub(crate) fn date_string(self) -> String { method time_string (line 54) | pub(crate) fn time_string(self) -> String { method date_and_time_string (line 60) | pub(crate) fn date_and_time_string(self) -> String { method local_utc_offset (line 64) | pub fn local_utc_offset(self) -> Result { method datetime (line 68) | pub fn datetime(self, utc_offset: FixedOffset) -> Result Self { method now (line 81) | pub fn now() -> Self { method zero (line 85) | pub fn zero() -> Self { method as_secs (line 89) | pub fn as_secs(self) -> TimestampSecs { method adding_secs (line 93) | pub fn adding_secs(self, secs: i64) -> Self { method elapsed_millis (line 97) | pub fn elapsed_millis(self) -> u64 { function elapsed (line 102) | fn elapsed() -> time::Duration { FILE: rslib/src/typeanswer.rs function compare_answer (line 38) | pub fn compare_answer(expected: &str, typed: &str, combining: bool) -> S... type DiffTrait (line 49) | trait DiffTrait { method get_typed (line 50) | fn get_typed(&self) -> &[char]; method get_expected (line 51) | fn get_expected(&self) -> &[char]; method get_expected_original (line 52) | fn get_expected_original(&self) -> Cow<'_, str>; method new (line 54) | fn new(expected: &str, typed: &str) -> Self; method to_html (line 57) | fn to_html(&self) -> String { method to_tokens (line 74) | fn to_tokens(&self) -> DiffTokens { method render_expected_tokens (line 108) | fn render_expected_tokens(&self, tokens: &[DiffToken]) -> String; method get_typed (line 158) | fn get_typed(&self) -> &[char] { method get_expected (line 161) | fn get_expected(&self) -> &[char] { method get_expected_original (line 164) | fn get_expected_original(&self) -> Cow<'_, str> { method new (line 168) | fn new(expected: &str, typed: &str) -> Self { method render_expected_tokens (line 175) | fn render_expected_tokens(&self, tokens: &[DiffToken]) -> String { method get_typed (line 188) | fn get_typed(&self) -> &[char] { method get_expected (line 191) | fn get_expected(&self) -> &[char] { method get_expected_original (line 194) | fn get_expected_original(&self) -> Cow<'_, str> { method new (line 198) | fn new(expected: &str, typed: &str) -> Self { method render_expected_tokens (line 229) | fn render_expected_tokens(&self, tokens: &[DiffToken]) -> String { function normalize (line 112) | fn normalize(string: &str) -> Vec { function slice (line 116) | fn slice(chars: &[char], start: usize, end: usize) -> String { function strip_expected (line 120) | fn strip_expected(expected: &str) -> String { function render_tokens (line 127) | fn render_tokens(tokens: &[DiffToken]) -> String { function isolate_leading_mark (line 139) | fn isolate_leading_mark(text: &str) -> Cow<'_, str> { type Diff (line 152) | struct Diff { type DiffNonCombining (line 181) | struct DiffNonCombining { type DiffTokens (line 245) | struct DiffTokens { type DiffTokenKind (line 251) | enum DiffTokenKind { type DiffToken (line 258) | struct DiffToken { method new (line 264) | fn new(kind: DiffTokenKind, text: String) -> Self { method good (line 267) | fn good(text: String) -> Self { method bad (line 270) | fn bad(text: String) -> Self { method missing (line 273) | fn missing(text: String) -> Self { method to_class (line 276) | fn to_class(&self) -> &'static str { function tokens (line 301) | fn tokens() { function html_and_media (line 331) | fn html_and_media() { function missed_chars_only_shown_in_typed_when_after_good (line 339) | fn missed_chars_only_shown_in_typed_when_after_good() { function missed_chars_counted_correctly (line 347) | fn missed_chars_counted_correctly() { function handles_certain_unicode_as_expected (line 356) | fn handles_certain_unicode_as_expected() { function does_not_panic_with_certain_unicode (line 366) | fn does_not_panic_with_certain_unicode() { function tags_removed (line 379) | fn tags_removed() { function empty_input_shows_as_code (line 389) | fn empty_input_shows_as_code() { function correct_input_is_escaped (line 395) | fn correct_input_is_escaped() { function correct_input_is_collapsed (line 404) | fn correct_input_is_collapsed() { function incorrect_input_is_not_collapsed (line 413) | fn incorrect_input_is_not_collapsed() { function noncombining_comparison (line 422) | fn noncombining_comparison() { FILE: rslib/src/types.rs type IntoNewtypeVec (line 72) | pub(crate) trait IntoNewtypeVec { method into_newtype (line 73) | fn into_newtype(self, func: F) -> Vec method into_newtype (line 79) | fn into_newtype(self, func: F) -> Vec FILE: rslib/src/undo/changes.rs type UndoableChange (line 17) | pub(crate) enum UndoableChange { method undo (line 31) | pub(super) fn undo(self, col: &mut Collection) -> Result<()> { method from (line 48) | fn from(c: UndoableCardChange) -> Self { method from (line 54) | fn from(c: UndoableNoteChange) -> Self { method from (line 60) | fn from(c: UndoableDeckChange) -> Self { method from (line 66) | fn from(c: UndoableDeckConfigChange) -> Self { method from (line 72) | fn from(c: UndoableTagChange) -> Self { method from (line 78) | fn from(c: UndoableRevlogChange) -> Self { method from (line 84) | fn from(c: UndoableQueueChange) -> Self { method from (line 90) | fn from(c: UndoableConfigChange) -> Self { method from (line 96) | fn from(c: UndoableCollectionChange) -> Self { method from (line 102) | fn from(c: UndoableNotetypeChange) -> Self { FILE: rslib/src/undo/mod.rs constant UNDO_LIMIT (line 15) | const UNDO_LIMIT: usize = 30; type UndoableOp (line 18) | pub(crate) struct UndoableOp { method has_changes (line 27) | fn has_changes(&self) -> bool { type UndoMode (line 33) | enum UndoMode { type UndoStatus (line 40) | pub struct UndoStatus { type UndoOutput (line 46) | pub struct UndoOutput { type UndoManager (line 54) | pub(crate) struct UndoManager { method save (line 66) | fn save(&mut self, item: UndoableChange) { method begin_step (line 72) | fn begin_step(&mut self, op: Option) { method end_step (line 91) | fn end_step(&mut self, skip_undo: bool) { method can_undo (line 104) | fn can_undo(&self) -> Option<&Op> { method can_redo (line 108) | fn can_redo(&self) -> Option<&Op> { method previous_op (line 112) | fn previous_op(&self) -> Option<&UndoableOp> { method current_op (line 116) | fn current_op(&self) -> Option<&UndoableOp> { method op_changes (line 120) | fn op_changes(&self) -> OpChanges { method merge_undoable_ops (line 133) | fn merge_undoable_ops(&mut self, starting_from: usize) -> Result usize { method can_undo (line 172) | pub fn can_undo(&self) -> Option<&Op> { method can_redo (line 176) | pub fn can_redo(&self) -> Option<&Op> { method undo (line 180) | pub fn undo(&mut self) -> Result> { method redo (line 187) | pub fn redo(&mut self) -> Result> { method undo_status (line 195) | pub fn undo_status(&self) -> UndoStatus { method merge_undoable_ops (line 205) | pub fn merge_undoable_ops(&mut self, starting_from: usize) -> Result usize { method begin_undoable_operation (line 218) | pub(crate) fn begin_undoable_operation(&mut self, op: Option) { method end_undoable_operation (line 224) | pub(crate) fn end_undoable_operation(&mut self, skip_undo: bool) { method discard_undo_and_study_queues (line 228) | pub(crate) fn discard_undo_and_study_queues(&mut self) { method update_state_after_dbproxy_modification (line 233) | pub(crate) fn update_state_after_dbproxy_modification(&mut self) { method save_undo (line 239) | pub(crate) fn save_undo(&mut self, item: impl Into) { method current_undo_op (line 243) | pub(crate) fn current_undo_op(&self) -> Option<&UndoableOp> { method previous_undo_op (line 247) | pub(crate) fn previous_undo_op(&self) -> Option<&UndoableOp> { method undoing_or_redoing (line 251) | pub(crate) fn undoing_or_redoing(&self) -> bool { method current_undo_step_has_changes (line 255) | pub(crate) fn current_undo_step_has_changes(&self) -> bool { method clear_last_op (line 264) | pub(crate) fn clear_last_op(&mut self) { method op_changes (line 276) | pub(crate) fn op_changes(&self) -> OpChanges { method undo_inner (line 280) | fn undo_inner(&mut self, step: UndoableOp, mode: UndoMode) -> Result Self { function undo (line 333) | fn undo() -> Result<()> { function custom (line 441) | fn custom() -> Result<()> { function undo_mtime_bump (line 505) | fn undo_mtime_bump() -> Result<()> { function coalesce_note_undo_entries (line 546) | fn coalesce_note_undo_entries() -> Result<()> { FILE: rslib/src/version.rs function version (line 7) | pub fn version() -> &'static str { function buildhash (line 11) | pub fn buildhash() -> &'static str { function sync_client_version (line 15) | pub(crate) fn sync_client_version() -> &'static str { function sync_client_version_short (line 27) | pub(crate) fn sync_client_version_short() -> &'static str { FILE: rslib/sync/main.rs function main (line 9) | fn main() { function run_health_check (line 23) | fn run_health_check() { FILE: tools/minilints/src/main.rs constant NONSTANDARD_HEADER (line 23) | const NONSTANDARD_HEADER: &[&str] = &[ constant IGNORED_FOLDERS (line 30) | const IGNORED_FOLDERS: &[&str] = &[ function main (line 41) | fn main() -> Result<()> { type LintContext (line 57) | struct LintContext { method new (line 65) | pub fn new(want_fix: bool) -> Self { method walk_folders (line 74) | pub fn walk_folders(&mut self, root: &Path) -> Result<()> { method check_copyright (line 95) | fn check_copyright(&mut self, path: &Utf8Path) -> Result<()> { method check_triple_slash (line 119) | fn check_triple_slash(&mut self, path: &Utf8Path) -> Result<()> { method check_contributors (line 132) | fn check_contributors(&self) -> Result<()> { method check_rust_licenses (line 216) | fn check_rust_licenses(&mut self) -> Result<()> { function sveltekit_temp_file (line 234) | fn sveltekit_temp_file(path: &str) -> bool { function check_cargo_deny (line 238) | fn check_cargo_deny() -> Result<()> { function head_of_file (line 245) | fn head_of_file(path: &Utf8Path) -> Result { function fix_copyright (line 253) | fn fix_copyright(path: &Utf8Path) -> Result<()> { function check_for_unstaged_changes (line 284) | fn check_for_unstaged_changes() { function generate_licences (line 292) | fn generate_licences() -> Result { FILE: tools/reload_webviews.py function print_error (line 19) | def print_error(message: str): FILE: ts/editable/change-timer.ts class ChangeTimer (line 4) | class ChangeTimer { method constructor (line 8) | constructor() { method schedule (line 12) | schedule(action: () => void, delay: number): void { method clear (line 18) | clear(): void { method fireImmediately (line 25) | fireImmediately(): void { FILE: ts/editable/content-editable.ts function safePlaceCaretAfterContent (line 21) | function safePlaceCaretAfterContent(editable: HTMLElement): void { function restoreCaret (line 26) | function restoreCaret(element: HTMLElement, location: SelectionLocation ... type SetupFocusHandlerAction (line 38) | type SetupFocusHandlerAction = (element: HTMLElement) => { destroy(): vo... type FocusHandlerAPI (line 40) | interface FocusHandlerAPI { function useFocusHandler (line 55) | function useFocusHandler(): [FocusHandlerAPI, SetupFocusHandlerAction] { function preventBuiltinShortcuts (line 137) | function preventBuiltinShortcuts(editable: HTMLElement): void { type Selection (line 144) | interface Selection { function fixRTLKeyboardNav (line 150) | function fixRTLKeyboardNav(editable: HTMLElement): void { type ContentEditableAPI (line 177) | interface ContentEditableAPI { FILE: ts/editable/cooldown-timer.ts class CooldownTimer (line 4) | class CooldownTimer { method constructor (line 9) | constructor(delayMs: number) { method schedule (line 13) | schedule(action: () => void): void { method #pop (line 23) | #pop(): void { FILE: ts/editable/decorated.ts type DecoratedElement (line 11) | interface DecoratedElement extends HTMLElement { type WithTagName (line 23) | interface WithTagName { type DecoratedElementConstructor (line 27) | interface DecoratedElementConstructor extends CustomElementConstructor, ... class CustomElementArray (line 39) | class CustomElementArray extends Array { method push (line 40) | push(...elements: DecoratedElementConstructor[]): number { method toStored (line 50) | toStored(html: string): string { method toUndecorated (line 63) | toUndecorated(html: string): string { FILE: ts/editable/frame-element.ts function restoreFrameHandles (line 14) | function restoreFrameHandles(mutations: MutationRecord[]): void { class FrameElement (line 78) | class FrameElement extends HTMLElement { method observedAttributes (line 81) | static get observedAttributes(): string[] { method framedElement (line 85) | get framedElement(): HTMLElement | null { method constructor (line 95) | constructor() { method attributeChangedCallback (line 101) | attributeChangedCallback(name: string, old: string, newValue: string):... method getHandleFrom (line 123) | getHandleFrom(node: Element | null, start: boolean): FrameHandle { method refreshHandles (line 135) | refreshHandles(): void { method addEventListeners (line 153) | addEventListeners(): void { method removeEventListeners (line 167) | removeEventListeners(): void { method connectedCallback (line 175) | connectedCallback(): void { method disconnectedCallback (line 180) | disconnectedCallback(): void { method insertLineBreak (line 185) | insertLineBreak(offset: number): void { function checkIfInsertingLineBreakAdjacentToBlockFrame (line 213) | function checkIfInsertingLineBreakAdjacentToBlockFrame() { function onSelectionChange (line 230) | function onSelectionChange() { function frameElement (line 245) | function frameElement(element: HTMLElement, block: boolean): FrameElement { FILE: ts/editable/frame-handle.ts function isFrameHandle (line 31) | function isFrameHandle(node: unknown): node is FrameHandle { function skippableNode (line 35) | function skippableNode(handleElement: FrameHandle, node: Node): boolean { function restoreHandleContent (line 47) | function restoreHandleContent(mutations: MutationRecord[]): void { type Placement (line 111) | type Placement = Extract; method observedAttributes (line 114) | static get observedAttributes(): string[] { method constructor (line 130) | constructor() { method attributeChangedCallback (line 140) | attributeChangedCallback(name: string, old: string, newValue: string): v... method invalidSpace (line 154) | invalidSpace(): boolean { method refreshSpace (line 161) | refreshSpace(): void { method hostedUnderFrame (line 169) | hostedUnderFrame(): boolean { method connectedCallback (line 173) | connectedCallback(): void { method disconnectedCallback (line 194) | disconnectedCallback(): void { method moveTextOutOfFrame (line 204) | moveTextOutOfFrame(data: string): Text { method subscribeToCompositionEvent (line 224) | subscribeToCompositionEvent(): void { method unsubscribeToCompositionEvent (line 235) | unsubscribeToCompositionEvent(): void { class FrameStart (line 241) | class FrameStart extends FrameHandle { method constructor (line 245) | constructor() { method getFrameRange (line 250) | getFrameRange(): Range { method notifyMoveIn (line 271) | notifyMoveIn(offset: number): void { method connectedCallback (line 277) | connectedCallback(): void { class FrameEnd (line 288) | class FrameEnd extends FrameHandle { method constructor (line 292) | constructor() { method getFrameRange (line 297) | getFrameRange(): Range { method notifyMoveIn (line 318) | notifyMoveIn(offset: number): void { method connectedCallback (line 324) | connectedCallback(): void { function checkWhetherMovingIntoHandle (line 335) | function checkWhetherMovingIntoHandle(selection: Selection, handle: Fram... function checkWhetherSelectingHandle (line 341) | function checkWhetherSelectingHandle(selection: Selection, handle: Frame... function checkHandles (line 347) | function checkHandles(): void { FILE: ts/editable/mathjax-element.svelte.ts function trimBreaks (line 18) | function trimBreaks(text: string): string { type MathjaxProps (line 29) | interface MathjaxProps { method toStored (line 38) | static toStored(undecorated: string): string { method toUndecorated (line 52) | static toUndecorated(stored: string): string { method observedAttributes (line 72) | static get observedAttributes(): string[] { method connectedCallback (line 76) | connectedCallback(): void { method disconnectedCallback (line 81) | disconnectedCallback(): void { method attributeChangedCallback (line 85) | attributeChangedCallback(name: string, old: string, newValue: string): v... method decorate (line 106) | decorate(): void { method undecorate (line 157) | undecorate(): void { method addEventListeners (line 180) | addEventListeners(): void { method removeEventListeners (line 190) | removeEventListeners(): void { method placeCaretBefore (line 198) | placeCaretBefore(): void { method placeCaretAfter (line 204) | placeCaretAfter(): void { FILE: ts/editable/mathjax.ts function getCSS (line 14) | function getCSS(nightMode: boolean, fontSize: number): string { function getStyle (line 20) | function getStyle(css: string): HTMLStyleElement { function getEmptyIcon (line 26) | function getEmptyIcon(style: HTMLStyleElement): [string, string] { function convertMathjax (line 34) | function convertMathjax( function escapeSomeEntities (line 75) | function escapeSomeEntities(value: string): string { function unescapeSomeEntities (line 79) | function unescapeSomeEntities(value: string): string { function revealClozeAnswers (line 83) | function revealClozeAnswers(input: string): string { FILE: ts/editor/base.ts type Selection (line 28) | interface Selection { function setupBrowserEditor (line 58) | async function setupBrowserEditor(): Promise { function setupNoteCreator (line 63) | async function setupNoteCreator(): Promise { function setupReviewerEditor (line 68) | async function setupReviewerEditor(): Promise { function setupEditor (line 73) | function setupEditor(mode: "add" | "browse" | "review") { FILE: ts/editor/code-mirror.ts function focusAndSetCaret (line 54) | function focusAndSetCaret( type OpenCodeMirrorOptions (line 62) | interface OpenCodeMirrorOptions { function openCodeMirror (line 68) | function openCodeMirror( function setupCodeMirror (line 106) | function setupCodeMirror( FILE: ts/editor/decorated-elements.ts function registerMathjax (line 14) | function registerMathjax() { function registerFrameElement (line 19) | function registerFrameElement() { FILE: ts/editor/destroyable.ts type Destroyable (line 4) | interface Destroyable { function clearableArray (line 8) | function clearableArray(): (T & Destroyable)[] { FILE: ts/editor/helpers.ts function isFontElement (line 4) | function isFontElement(element: Element): element is HTMLFontElement { function withFontColor (line 11) | function withFontColor( class Flag (line 23) | class Flag { method constructor (line 26) | constructor() { method setFlag (line 30) | setFlag(on: boolean): void { method checkAndReset (line 35) | checkAndReset(): boolean { FILE: ts/editor/old-editor-adapter.ts function pasteHTML (line 9) | function pasteHTML( function setFormat (line 21) | function setFormat(cmd: string, arg?: string, _nosave = false): void { function toggleEditorButton (line 26) | function toggleEditorButton(button: HTMLButtonElement): void { FILE: ts/editor/plain-text-input/remove-prohibited.ts function removeTag (line 8) | function removeTag(element: HTMLElement, tagName: string): void { function removeProhibitedTags (line 20) | function removeProhibitedTags(html: string): string { FILE: ts/editor/plain-text-input/transform.ts function storedToUndecorated (line 6) | function storedToUndecorated(html: string): string { function undecoratedToStored (line 10) | function undecoratedToStored(html: string): string { FILE: ts/editor/rich-text-input/normalizing-node-store.ts function normalizeFragment (line 10) | function normalizeFragment(fragment: DocumentFragment): void { function getStore (line 24) | function getStore(): NodeStore { FILE: ts/editor/rich-text-input/rich-text-resolve.ts function bridgeCopyPasteCommands (line 8) | function bridgeCopyPasteCommands(input: HTMLElement): { destroy(): void } { function useRichTextResolve (line 31) | function useRichTextResolve(): [Promise, (input: HTMLElemen... FILE: ts/editor/rich-text-input/transform.ts function adjustInputHTML (line 9) | function adjustInputHTML(html: string): string { function adjustInputFragment (line 17) | function adjustInputFragment(fragment: DocumentFragment): void { function storedToFragment (line 23) | function storedToFragment(storedHTML: string): DocumentFragment { function adjustOutputFragment (line 33) | function adjustOutputFragment(fragment: DocumentFragment): void { function adjustOutputHTML (line 44) | function adjustOutputHTML(html: string): string { function fragmentToStored (line 52) | function fragmentToStored(fragment: DocumentFragment): string { FILE: ts/editor/surround.ts function isValid (line 17) | function isValid(value: T | undefined): value is T { function isSurroundedInner (line 21) | function isSurroundedInner( function surroundAndSelect (line 32) | function surroundAndSelect( function removeFormats (line 47) | function removeFormats( type SurroundedAPI (line 66) | interface SurroundedAPI { class Surrounder (line 75) | class Surrounder { method constructor (line 83) | private constructor(apiStore: Readable) { method make (line 107) | static make(apiStore: Readable): Surrounder { method #getBaseElement (line 111) | #getBaseElement(): Promise { method #toggleTrigger (line 119) | #toggleTrigger( method #toggleTriggerOverwrite (line 142) | #toggleTriggerOverwrite( method #toggleTriggerRemove (line 161) | #toggleTriggerRemove( method hasFormat (line 209) | hasFormat(key: string): boolean { method registerFormat (line 218) | registerFormat(key: string, format: SurroundFormat): () => void { method updateFormat (line 234) | updateFormat( method surround (line 245) | async surround(formatName: string, exclusiveNames: string[] = []): Pro... method overwriteSurround (line 284) | async overwriteSurround( method isSurrounded (line 324) | async isSurrounded(formatName: string): Promise { method remove (line 342) | async remove(formatNames: string[], reformatNames: string[] = []): Pro... FILE: ts/editor/types.ts type EditorOptions (line 4) | type EditorOptions = { type SessionOptions (line 14) | type SessionOptions = { type NotetypeIdAndModTime (line 18) | type NotetypeIdAndModTime = { type EditorState (line 23) | enum EditorState { FILE: ts/html-filter/element.ts type TagsAllowed (line 8) | interface TagsAllowed { type FilterMethod (line 12) | type FilterMethod = (element: Element) => void; function filterAttributes (line 14) | function filterAttributes( function allowNone (line 27) | function allowNone(element: Element): void { function unwrapElement (line 37) | function unwrapElement(element: Element): void { function filterSpan (line 41) | function filterSpan(element: Element): void { function filterElementInternal (line 105) | function filterElementInternal(element: Element): void { FILE: ts/html-filter/helpers.ts function isHTMLElement (line 4) | function isHTMLElement(elem: Element): elem is HTMLElement { function isNightMode (line 8) | function isNightMode(): boolean { FILE: ts/html-filter/index.ts type FilterMode (line 7) | enum FilterMode { function collapseWhitespace (line 21) | function collapseWhitespace(value: string): string { function trim (line 25) | function trim(value: string): string { function filterHTML (line 35) | function filterHTML(html: string, internal: boolean, extended: boolean):... function getFilterMode (line 48) | function getFilterMode(internal: boolean, extended: boolean): FilterMode { FILE: ts/html-filter/node.ts function removeNode (line 4) | function removeNode(element: Node): void { function iterateElement (line 8) | function iterateElement( FILE: ts/html-filter/styling.ts type StylingPredicate (line 5) | type StylingPredicate = (property: string, value: string) => boolean; function filterStyling (line 13) | function filterStyling( FILE: ts/lib/components/helpers.ts function mergeTooltipAndShortcut (line 3) | function mergeTooltipAndShortcut( FILE: ts/lib/components/resizable.ts type Resizer (line 7) | interface Resizer { type ResizedStores (line 19) | interface ResizedStores { type ResizableResult (line 24) | type ResizableResult = [ function resizable (line 30) | function resizable( FILE: ts/lib/components/types.ts type Size (line 4) | type Size = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12; type Breakpoint (line 5) | type Breakpoint = "xs" | "sm" | "md" | "lg" | "xl" | "xxl"; type HelpItem (line 7) | type HelpItem = { type HelpItemScheduler (line 15) | enum HelpItemScheduler { type IconData (line 20) | type IconData = { FILE: ts/lib/domlib/content-editable.ts function execCommand (line 7) | function execCommand( function queryCommandState (line 18) | function queryCommandState(command: string): boolean { FILE: ts/lib/domlib/find-above.ts type Matcher (line 6) | type Matcher = (element: Element) => boolean; function findParent (line 8) | function findParent(current: Node, base: Element): Element | null { function findClosest (line 24) | function findClosest( function findFarthest (line 49) | function findFarthest( FILE: ts/lib/domlib/location/document.ts function unselect (line 10) | function unselect(selection: Selection): void { function setSelectionToLocationContent (line 14) | function setSelectionToLocationContent( function saveSelection (line 33) | function saveSelection(base: Node): SelectionLocation | null { function restoreSelection (line 37) | function restoreSelection(base: Node, location: SelectionLocation): void { FILE: ts/lib/domlib/location/location.ts type CaretLocation (line 4) | interface CaretLocation { type Position (line 9) | enum Position { function compareLocations (line 18) | function compareLocations( FILE: ts/lib/domlib/location/node.ts function getNodeCoordinatesRecursive (line 4) | function getNodeCoordinatesRecursive( function getNodeCoordinates (line 22) | function getNodeCoordinates(node: Node, base: Node): number[] { function findNodeFromCoordinates (line 26) | function findNodeFromCoordinates( FILE: ts/lib/domlib/location/range.ts type RangeCoordinatesCollapsed (line 7) | interface RangeCoordinatesCollapsed { type RangeCoordinatesContent (line 12) | interface RangeCoordinatesContent { type RangeCoordinates (line 18) | type RangeCoordinates = RangeCoordinatesCollapsed | RangeCoordinatesCont... function getRangeCoordinates (line 20) | function getRangeCoordinates(range: Range, base: Node): RangeCoordinates { FILE: ts/lib/domlib/location/selection.ts type SelectionLocationCollapsed (line 10) | interface SelectionLocationCollapsed { type SelectionLocationContent (line 15) | interface SelectionLocationContent { type SelectionLocation (line 22) | type SelectionLocation = SelectionLocationCollapsed | SelectionLocationC... function getSelectionLocation (line 24) | function getSelectionLocation(base: Node): SelectionLocation | null { FILE: ts/lib/domlib/move-nodes.ts function moveChildOutOfElement (line 8) | function moveChildOutOfElement( function moveNodesInsertedOutside (line 33) | function moveNodesInsertedOutside(element: Element, allowedChild: Node):... FILE: ts/lib/domlib/place-caret.ts function placeCaret (line 6) | function placeCaret(node: Node, range: Range): void { function placeCaretBefore (line 12) | function placeCaretBefore(node: Node): void { function placeCaretAfter (line 20) | function placeCaretAfter(node: Node): void { function placeCaretAfterContent (line 28) | function placeCaretAfterContent(node: Node): void { FILE: ts/lib/domlib/surround/apply/format.ts class ApplyFormat (line 7) | class ApplyFormat { method constructor (line 8) | constructor(protected readonly format: SurroundFormat) {} method applyFormat (line 10) | applyFormat(node: FormattingNode): boolean { class UnsurroundApplyFormat (line 24) | class UnsurroundApplyFormat extends ApplyFormat { method applyFormat (line 25) | applyFormat(node: FormattingNode): boolean { class ReformatApplyFormat (line 34) | class ReformatApplyFormat extends ApplyFormat { method applyFormat (line 35) | applyFormat(node: FormattingNode): boolean { FILE: ts/lib/domlib/surround/apply/index.ts function iterate (line 8) | function iterate(node: TreeNode, format: ApplyFormat, leftShift: n... function applyFormat (line 23) | function applyFormat( function apply (line 37) | function apply(nodes: TreeNode[], format: ApplyFormat): void { FILE: ts/lib/domlib/surround/build/add-merge.ts function mergeAppendNode (line 8) | function mergeAppendNode( function appendNode (line 33) | function appendNode( function mergeInsertNode (line 45) | function mergeInsertNode( function insertNode (line 70) | function insertNode( FILE: ts/lib/domlib/surround/build/build-tree.ts function buildFromElement (line 12) | function buildFromElement( function buildFromText (line 78) | function buildFromText( function elementIsNegligible (line 92) | function elementIsNegligible(element: Element): boolean { function textIsNegligible (line 96) | function textIsNegligible(text: Text): boolean { function buildFromNode (line 105) | function buildFromNode( FILE: ts/lib/domlib/surround/build/extend-merge.ts function mergePreviousTrees (line 10) | function mergePreviousTrees(forest: TreeNode[], format: BuildFormat(forest: TreeNode[], format: BuildFormat): ... function extendAndMerge (line 57) | function extendAndMerge( FILE: ts/lib/domlib/surround/build/format.ts function nodeWithinRange (line 13) | function nodeWithinRange(node: Node, range: Range): boolean { class BuildFormat (line 27) | class BuildFormat { method constructor (line 28) | constructor( method createMatch (line 35) | createMatch(element: Element): Match { method tryMerge (line 41) | tryMerge( method tryAscend (line 52) | tryAscend(node: FormattingNode, elementNode: ElementNode): boolean { method isInsideRange (line 61) | isInsideRange(node: Node): boolean { method announceElementRemoval (line 65) | announceElementRemoval(element: Element): void { method recreateRange (line 69) | recreateRange(): Range { class UnsurroundBuildFormat (line 74) | class UnsurroundBuildFormat extends BuildFormat { method tryMerge (line 75) | tryMerge( class ReformatBuildFormat (line 87) | class ReformatBuildFormat extends BuildFormat { method tryMerge (line 88) | tryMerge( FILE: ts/lib/domlib/surround/build/index.ts function build (line 18) | function build(node: Node, build: BuildFormat): TreeNode[] { FILE: ts/lib/domlib/surround/flat-range.ts class FlatRange (line 10) | class FlatRange { method constructor (line 11) | private constructor( method make (line 25) | static make(node: Node, startIndex: number, endIndex = startIndex + 1)... method merge (line 33) | static merge(before: FlatRange, after: FlatRange): FlatRange { method fromNode (line 40) | static fromNode(node: Node): FlatRange { method firstChild (line 47) | get firstChild(): ChildNode { method lastChild (line 51) | get lastChild(): ChildNode { method select (line 58) | select(node: Node): void { method toDOMRange (line 64) | toDOMRange(): Range { method length (line 101) | get length(): number { method toString (line 105) | toString(): string { method [Symbol.iterator] (line 82) | [Symbol.iterator](): Iterator { FILE: ts/lib/domlib/surround/match-type.ts type MatchType (line 6) | interface MatchType { type Callback (line 32) | type Callback = () => void; class Match (line 34) | class Match implements MatchType { method remove (line 36) | remove(): void { method clear (line 41) | clear(callback: Callback): void { method matches (line 45) | get matches(): boolean { method shouldRemove (line 52) | shouldRemove(): boolean { method setCache (line 59) | setCache(value: T): void { class FakeMatch (line 64) | class FakeMatch implements MatchType { method remove (line 67) | remove(): void { method clear (line 71) | clear(): void { method setCache (line 75) | setCache(): void { function boolMatcher (line 83) | function boolMatcher( FILE: ts/lib/domlib/surround/split-text.ts function length (line 9) | function length(node: Node): number { class SplitRange (line 26) | class SplitRange { method constructor (line 27) | constructor(protected start: Node, protected end: Node) {} method adjustStart (line 29) | private adjustStart(): void { method adjustEnd (line 37) | private adjustEnd(): void { method adjustRange (line 45) | adjustRange(element: Element): void { method toDOMRange (line 56) | toDOMRange(): Range { function splitTextIfNecessary (line 69) | function splitTextIfNecessary(text: Text, offset: number): Text { function splitPartiallySelected (line 77) | function splitPartiallySelected(range: Range): SplitRange { FILE: ts/lib/domlib/surround/surround-format.ts type SurroundFormat (line 7) | interface SurroundFormat { FILE: ts/lib/domlib/surround/surround.ts function buildAndApply (line 12) | function buildAndApply( function surroundOnCorrectNode (line 22) | function surroundOnCorrectNode( function surround (line 41) | function surround( function reformat (line 55) | function reformat( function unsurround (line 66) | function unsurround( FILE: ts/lib/domlib/surround/test-utils.ts function p (line 29) | function p(html: string): HTMLBodyElement { function t (line 34) | function t(data: string): Text { function element (line 38) | function element(tagName: string): (...childNodes: Node[]) => HTMLElement { FILE: ts/lib/domlib/surround/tree/block-node.ts class BlockNode (line 10) | class BlockNode extends TreeNode { method constructor (line 11) | private constructor() { method make (line 15) | static make(): BlockNode { FILE: ts/lib/domlib/surround/tree/element-node.ts class ElementNode (line 6) | class ElementNode extends TreeNode { method constructor (line 7) | private constructor( method make (line 14) | static make(element: Element, insideRange: boolean): ElementNode { FILE: ts/lib/domlib/surround/tree/formatting-node.ts class FormattingNode (line 14) | class FormattingNode extends TreeNode { method constructor (line 15) | private constructor( method make (line 29) | private static make( method fromText (line 37) | static fromText( method merge (line 60) | static merge( method toString (line 77) | toString(): string { method ascendAbove (line 93) | ascendAbove(elementNode: ElementNode): void { method getExtension (line 113) | getExtension(): ElementNode | null { method firstLeaf (line 142) | get firstLeaf(): Match | null { method closestAncestor (line 156) | get closestAncestor(): Match | null { method getCache (line 192) | getCache(insideValue: T): T | null { method hasMatch (line 211) | get hasMatch(): boolean { FILE: ts/lib/domlib/surround/tree/tree-node.ts method constructor (line 7) | protected constructor( method replaceChildren (line 17) | replaceChildren(...newChildren: TreeNode[]): TreeNode[] { method hasChildren (line 21) | hasChildren(): boolean { method length (line 25) | get length(): number { FILE: ts/lib/generated/ftl-helpers.ts function setBundles (line 9) | function setBundles(newBundles: FluentBundle[]): void { function firstLanguage (line 13) | function firstLanguage(): string { function translate (line 17) | function translate(key: string, args: Record = {... function toFluentNumber (line 21) | function toFluentNumber(num: number): FluentNumber { function formatArgs (line 27) | function formatArgs( function getMessage (line 45) | function getMessage( FILE: ts/lib/generated/post.ts type PostProtoOptions (line 4) | interface PostProtoOptions { function postProto (line 9) | async function postProto( function postProtoInner (line 29) | async function postProtoInner(url: string, body: Uint8Array): Promise { type Action (line 11) | type Action = ( function actionList (line 20) | function actionList(actions: Action[]): ... FILE: ts/lib/sveltelib/closing-click.ts function isSecondaryButton (line 12) | function isSecondaryButton(event: MouseEvent): boolean { type ClosingClickArgs (line 16) | interface ClosingClickArgs { function isClosingClick (line 33) | function isClosingClick( FILE: ts/lib/sveltelib/closing-keyup.ts type ClosingKeyupArgs (line 9) | interface ClosingKeyupArgs { function isClosingKeyup (line 24) | function isClosingKeyup( FILE: ts/lib/sveltelib/context-property.ts type SetContextPropertyAction (line 6) | type SetContextPropertyAction = (value: T) => void; type ContextProperty (line 8) | interface ContextProperty { function contextProperty (line 27) | function contextProperty( FILE: ts/lib/sveltelib/dom-mirror.ts type MirrorAction (line 17) | type MirrorAction = ( type DOMMirrorAPI (line 22) | interface DOMMirrorAPI { function cloneNode (line 27) | function cloneNode(node: Node): DocumentFragment { function useDOMMirror (line 44) | function useDOMMirror(): DOMMirrorAPI { FILE: ts/lib/sveltelib/dynamic-slotting.ts type DynamicSvelteComponent (line 19) | interface DynamicSvelteComponent { type SlotHostProps (line 35) | interface SlotHostProps { type CreateInterfaceAPI (line 39) | interface CreateInterfaceAPI { type GetSlotHostProps (line 47) | interface GetSlotHostProps { type DynamicSlotted (line 51) | interface DynamicSlotted { type DynamicSlottingAPI (line 56) | interface DynamicSlottingAPI< function dynamicSlotting (line 82) | function dynamicSlotting< function defaultProps (line 225) | function defaultProps(): SlotHostProps { type DefaultSlotInterface (line 231) | interface DefaultSlotInterface extends Record { function defaultInterface (line 245) | function defaultInterface({ FILE: ts/lib/sveltelib/dynamicComponent.ts type DynamicSvelteComponent (line 10) | interface DynamicSvelteComponent< FILE: ts/lib/sveltelib/event-predicate.d.ts type EventPredicateResult (line 1) | interface EventPredicateResult { FILE: ts/lib/sveltelib/event-store.ts type Init (line 10) | type Init = { new(type: string): T; prototype: T }; function eventStore (line 19) | function eventStore { FILE: ts/lib/sveltelib/handler-list.ts type Handler (line 8) | type Handler = (args: T) => Promise; type HandlerAccess (line 10) | interface HandlerAccess { class TriggerItem (line 15) | class TriggerItem { method constructor (line 18) | constructor( method active (line 28) | get active(): Readable { method off (line 35) | off(): void { method on (line 40) | on(handler: Handler): void { type HandlerOptions (line 46) | interface HandlerOptions { class HandlerList (line 50) | class HandlerList { method trigger (line 58) | trigger(options?: Partial): TriggerItem { method on (line 96) | on(handler: Handler, options?: Partial): Callback { method off (line 128) | private off(handler: Handler): void { method length (line 138) | get length(): number { method dispatch (line 142) | dispatch(args: T): Promise { method clear (line 152) | clear(): void { method [Symbol.iterator] (line 158) | [Symbol.iterator](): Iterator, null, unknown> { FILE: ts/lib/sveltelib/input-handler.ts type SetupInputHandlerAction (line 13) | type SetupInputHandlerAction = (element: HTMLElement) => { destroy(): vo... type InputEventParams (line 15) | interface InputEventParams { type EventParams (line 19) | interface EventParams { type InsertTextParams (line 23) | interface InsertTextParams { type SpecialKeyAction (line 28) | type SpecialKeyAction = type SpecialKeyParams (line 36) | interface SpecialKeyParams { type InputHandlerAPI (line 41) | interface InputHandlerAPI { function useInputHandler (line 55) | function useInputHandler(): [InputHandlerAPI, SetupInputHandlerAction] { FILE: ts/lib/sveltelib/lifecycle-hooks.ts type ComponentAPIMount (line 8) | type ComponentAPIMount = (api: T) => Callback | void; type ComponentAPIDestroy (line 9) | type ComponentAPIDestroy = (api: T) => void; type SetLifecycleHooksAction (line 11) | type SetLifecycleHooksAction = (api: T) => void; type LifecycleHooks (line 13) | interface LifecycleHooks { function lifecycleHooks (line 23) | function lifecycleHooks(): [LifecycleHooks, T[], SetLifecycleHooks... FILE: ts/lib/sveltelib/modal-closing.ts type ModalClosingHandler (line 6) | interface ModalClosingHandler { function registerModalClosingHandler (line 15) | function registerModalClosingHandler(callback?: () => void): ModalClosin... FILE: ts/lib/sveltelib/node-store.ts type NodeStore (line 7) | interface NodeStore extends Writable { function nodeStore (line 11) | function nodeStore( FILE: ts/lib/sveltelib/position/auto-update.ts type PositioningCallback (line 19) | type PositioningCallback = ( type PositionFunc (line 28) | type PositionFunc = ( function autoUpdate (line 33) | function autoUpdate( FILE: ts/lib/sveltelib/position/position-algorithm.d.ts type PositionAlgorithm (line 9) | type PositionAlgorithm = ( FILE: ts/lib/sveltelib/position/position-floating.ts type PositionFloatingArgs (line 9) | interface PositionFloatingArgs { function positionFloating (line 20) | function positionFloating({ FILE: ts/lib/sveltelib/position/position-overlay.ts type PositionOverlayArgs (line 9) | interface PositionOverlayArgs { function positionOverlay (line 15) | function positionOverlay({ FILE: ts/lib/sveltelib/preferences.ts type PreferenceStore (line 8) | type PreferenceStore = Writable; function autoSavingPrefs (line 12) | async function autoSavingPrefs( FILE: ts/lib/sveltelib/resize-store.ts type ResizeObserverArgs (line 8) | interface ResizeObserverArgs { type ResizeStore (line 13) | type ResizeStore = Readable; function resizeStore (line 22) | function resizeStore(target: Element): ResizeStore { FILE: ts/lib/sveltelib/shortcut.ts type ShortcutParams (line 7) | interface ShortcutParams { function shortcut (line 13) | function shortcut( FILE: ts/lib/sveltelib/store-subscribe.ts type StoreAccessors (line 6) | interface StoreAccessors { function storeSubscribe (line 14) | function storeSubscribe( FILE: ts/lib/sveltelib/subscribe-updates.ts function subscribeToUpdates (line 11) | function subscribeToUpdates( FILE: ts/lib/sveltelib/theme.ts type ThemeInfo (line 7) | interface ThemeInfo { function getThemeFromRoot (line 11) | function getThemeFromRoot(): ThemeInfo { FILE: ts/lib/sveltelib/toggleable.ts type Toggleable (line 7) | interface Toggleable extends Writable { function toggleable (line 13) | function toggleable(defaultValue: boolean): Toggleable { FILE: ts/lib/tag-editor/tags.ts function replaceWithUnicodeSeparator (line 6) | function replaceWithUnicodeSeparator(name: string): string { function replaceWithColons (line 10) | function replaceWithColons(name: string): string { function normalizeTagname (line 14) | function normalizeTagname(tagname: string): string { type Tag (line 28) | interface Tag { function attachId (line 35) | function attachId(name: string): Tag { function getName (line 46) | function getName(tag: Tag): string { FILE: ts/lib/tslib/bridgecommand.ts type Window (line 7) | interface Window { function bridgeLink (line 13) | function bridgeLink(command: string, label: string): string { function bridgeCommandsAvailable (line 17) | function bridgeCommandsAvailable(): boolean { function bridgeCommand (line 21) | function bridgeCommand(command: string, callback?: (value: T) => void... FILE: ts/lib/tslib/cards.ts type CardType (line 4) | enum CardType { type CardQueue (line 11) | enum CardQueue { FILE: ts/lib/tslib/children-access.ts type Identifier (line 3) | type Identifier = Element | string | number; function findElement (line 5) | function findElement( class ChildrenAccess (line 55) | class ChildrenAccess { method constructor (line 58) | constructor(parent: T) { method insertElement (line 62) | insertElement(element: Element, identifier: Identifier): number { method appendElement (line 75) | appendElement(element: Element, identifier: Identifier): number { method updateElement (line 89) | updateElement( function childrenAccess (line 104) | function childrenAccess(parent: T): ChildrenAccess { FILE: ts/lib/tslib/cross-browser.ts function getSelection (line 12) | function getSelection(element: Node): Selection | null { function getRange (line 27) | function getRange(selection: Selection): Range | null { function isSelectionCollapsed (line 38) | function isSelectionCollapsed(selection: Selection): boolean { FILE: ts/lib/tslib/dom.ts function nodeIsElement (line 6) | function nodeIsElement(node: Node): node is Element { function nodeIsCommonElement (line 14) | function nodeIsCommonElement(node: Node): node is HTMLElement | SVGEleme... function nodeIsText (line 18) | function nodeIsText(node: Node): node is Text { function nodeIsComment (line 22) | function nodeIsComment(node: Node): node is Comment { constant BLOCK_ELEMENTS (line 27) | const BLOCK_ELEMENTS = [ function hasBlockAttribute (line 63) | function hasBlockAttribute(element: Element): boolean { function elementIsBlock (line 67) | function elementIsBlock(element: Element): boolean { constant NO_SPLIT_TAGS (line 71) | const NO_SPLIT_TAGS = ["RUBY"]; function elementShouldNotBeSplit (line 73) | function elementShouldNotBeSplit(element: Element): boolean { constant EMPTY_ELEMENTS (line 78) | const EMPTY_ELEMENTS = [ function elementIsEmpty (line 95) | function elementIsEmpty(element: Element): boolean { function nodeContainsInlineContent (line 99) | function nodeContainsInlineContent(node: Node): boolean { function fragmentToString (line 116) | function fragmentToString(fragment: DocumentFragment): string { FILE: ts/lib/tslib/events.ts type EventTargetToMap (line 4) | type EventTargetToMap = A extends HTMLElement ? H... function on (line 14) | function on>( function preventDefault (line 24) | function preventDefault(event: Event): void { FILE: ts/lib/tslib/functional.ts function noop (line 4) | function noop(): void { function asyncNoop (line 8) | async function asyncNoop(): Promise { function id (line 12) | function id(t: T): T { function truthy (line 16) | function truthy(t: T | void | undefined | null): t is T { FILE: ts/lib/tslib/globals.ts function globalExport (line 4) | function globalExport(globals: Record): void { FILE: ts/lib/tslib/helpers.ts type Callback (line 6) | type Callback = () => void; function removeItem (line 8) | function removeItem(items: T[], item: T): void { function renderMarkdown (line 16) | function renderMarkdown(text: string): string { FILE: ts/lib/tslib/i18n/utils.ts function supportsVerticalText (line 11) | function supportsVerticalText(): boolean { function direction (line 20) | function direction(): "ltr" | "rtl" { function weekdayLabel (line 33) | function weekdayLabel(n: number): string { function localizedDate (line 45) | function localizedDate( function localizedNumber (line 52) | function localizedNumber(n: number, precision = 2): string { function createLocaleNumberFormat (line 58) | function createLocaleNumberFormat(options?: Intl.NumberFormatOptions): I... function localeCompare (line 62) | function localeCompare( function withCollapsedWhitespace (line 72) | function withCollapsedWhitespace(s: string): string { function withoutUnicodeIsolation (line 76) | function withoutUnicodeIsolation(s: string): string { function setupI18n (line 80) | async function setupI18n(args: { modules: ModuleName[] }): Promise { function setupGlobalI18n (line 102) | async function setupGlobalI18n(): Promise { FILE: ts/lib/tslib/keys.ts type Modifier (line 9) | type Modifier = "Control" | "Alt" | "Shift" | "Meta"; function translateModifierToPlatform (line 16) | function translateModifierToPlatform(modifier: Modifier): string { function checkIfModifierKey (line 20) | function checkIfModifierKey(event: KeyboardEvent): boolean { function keyboardEventIsPrintableKey (line 32) | function keyboardEventIsPrintableKey(event: KeyboardEvent): boolean { function modifiersToPlatformString (line 64) | function modifiersToPlatformString(modifiers: string[]): string { function keyToPlatformString (line 78) | function keyToPlatformString(key: string): string { function isArrowLeft (line 92) | function isArrowLeft(event: KeyboardEvent): boolean { function isArrowRight (line 100) | function isArrowRight(event: KeyboardEvent): boolean { function isArrowUp (line 108) | function isArrowUp(event: KeyboardEvent): boolean { function isArrowDown (line 116) | function isArrowDown(event: KeyboardEvent): boolean { function onEnterOrSpace (line 124) | function onEnterOrSpace(callback: () => void): (event: KeyboardEvent) =>... FILE: ts/lib/tslib/nightmode.ts function checkNightMode (line 6) | function checkNightMode(): boolean { FILE: ts/lib/tslib/node.ts function isOnlyChild (line 4) | function isOnlyChild(node: Node): boolean { function hasOnlyChild (line 8) | function hasOnlyChild(node: Node): boolean { function ascend (line 12) | function ascend(node: Node): Node { FILE: ts/lib/tslib/parsing.ts function createDummyDoc (line 10) | function createDummyDoc(html: string): string { FILE: ts/lib/tslib/platform.ts function isApplePlatform (line 4) | function isApplePlatform(): boolean { function isDesktop (line 13) | function isDesktop(): boolean { function chromiumVersion (line 17) | function chromiumVersion(): number | null { FILE: ts/lib/tslib/progress.ts function runWithBackendProgress (line 7) | async function runWithBackendProgress( FILE: ts/lib/tslib/promise.ts function promiseWithResolver (line 4) | function promiseWithResolver(): [Promise, (value: T) => void] { FILE: ts/lib/tslib/runtime-require.ts type AnkiPackages (line 17) | type AnkiPackages = type PackageDeprecation (line 31) | type PackageDeprecation> = { function registerPackageRaw (line 43) | function registerPackageRaw( function registerPackage (line 50) | function registerPackage< function require (line 72) | function require(name: T): Record(predicate: (t: T) => boolean, items: T[]): [T[], T... function removeTrailing (line 79) | function removeTrailing(modifier: string): string { function separateRequiredOptionalModifiers (line 83) | function separateRequiredOptionalModifiers( function keyToCode (line 104) | function keyToCode(key: string): number { function keyCombinationToCheck (line 108) | function keyCombinationToCheck( function innerShortcut (line 119) | function innerShortcut( type RegisterShortcutRestParams (line 142) | interface RegisterShortcutRestParams { function registerShortcut (line 154) | function registerShortcut( FILE: ts/lib/tslib/styling.ts function removeEmptyStyle (line 7) | function removeEmptyStyle(element: HTMLElement | SVGElement): boolean { function removeStyleProperties (line 22) | function removeStyleProperties( FILE: ts/lib/tslib/time.ts constant SECOND (line 6) | const SECOND = 1.0; constant MINUTE (line 7) | const MINUTE = 60.0 * SECOND; constant HOUR (line 8) | const HOUR = 60.0 * MINUTE; constant DAY (line 9) | const DAY = 24.0 * HOUR; constant YEAR (line 10) | const YEAR = 365.0 * DAY; constant MONTH (line 11) | const MONTH = YEAR / 12; type TimespanUnit (line 13) | enum TimespanUnit { function unitName (line 22) | function unitName(unit: TimespanUnit): string { function naturalUnit (line 39) | function naturalUnit(secs: number): TimespanUnit { function unitSeconds (line 57) | function unitSeconds(unit: TimespanUnit): number { function unitAmount (line 74) | function unitAmount(unit: TimespanUnit, secs: number): number { function naturalWholeUnit (line 79) | function naturalWholeUnit(secs: number): TimespanUnit { function studiedToday (line 91) | function studiedToday(cards: number, secs: number): string { function i18nFuncForUnit (line 108) | function i18nFuncForUnit( function timeSpan (line 149) | function timeSpan( function dayLabel (line 163) | function dayLabel(daysStart: number, daysEnd: number): string { class Timestamp (line 190) | class Timestamp { method constructor (line 193) | constructor(seconds: number) { method dateString (line 198) | dateString(): string { method timeString (line 206) | timeString(): string { FILE: ts/lib/tslib/typing.ts function assertUnreachable (line 4) | function assertUnreachable(x: never): never { type Callback (line 8) | type Callback = () => void; type AsyncCallback (line 9) | type AsyncCallback = () => Promise; function singleCallback (line 11) | function singleCallback(...callbacks: Callback[]): Callback { FILE: ts/lib/tslib/wrap.ts function wrappedExceptForWhitespace (line 6) | function wrappedExceptForWhitespace(text: string, front: string, back: s... function moveCursorInside (line 16) | function moveCursorInside(selection: Selection, postfix: string): void { function wrapInternal (line 26) | function wrapInternal( FILE: ts/mathjax/index.ts function packagesForLoading (line 8) | function packagesForLoading(packages: string[]): string[] { FILE: ts/mathjax/mathjax-types.d.ts type Window (line 11) | interface Window { FILE: ts/reviewer/answering.ts type CustomDataStates (line 10) | interface CustomDataStates { function unpackCustomData (line 17) | function unpackCustomData(states: SchedulingStates): CustomDataStates { function packCustomData (line 33) | function packCustomData( type StateMutatorFn (line 43) | type StateMutatorFn = (states: JsonValue, customData: CustomDataStates, ... function mutateNextCardStates (line 45) | async function mutateNextCardStates( function applyStateTransform (line 55) | async function applyStateTransform( FILE: ts/reviewer/browser_selector.ts function addBrowserClasses (line 4) | function addBrowserClasses() { FILE: ts/reviewer/images.ts function allImagesLoaded (line 7) | function allImagesLoaded(): Promise { function imageLoaded (line 13) | function imageLoaded(img: HTMLImageElement): Promise { function extractImageSrcs (line 22) | function extractImageSrcs(fragment: DocumentFragment): string[] { function createImage (line 29) | function createImage(src: string): HTMLImageElement { function preloadAnswerImages (line 37) | function preloadAnswerImages(html: string): void { function preloadImages (line 43) | function preloadImages(fragment: DocumentFragment): Promise[] { FILE: ts/reviewer/index.ts type Callback (line 27) | type Callback = () => void | Promise; function getTypedAnswer (line 35) | function getTypedAnswer(): string | null { function _runHook (line 39) | function _runHook( function _queueAction (line 58) | function _queueAction(action: Callback): void { function replaceScript (line 65) | function replaceScript(oldScript: HTMLScriptElement): Promise { function setInnerHTML (line 89) | async function setInnerHTML(element: Element, html: string): Promise { function createPreloadLink (line 25) | function createPreloadLink(href: string, as: string): HTMLLinkElement { function extractExternalStyleSheets (line 36) | function extractExternalStyleSheets(fragment: DocumentFragment): CSSElem... function preloadStyleSheets (line 45) | function preloadStyleSheets(fragment: DocumentFragment): Promise[] { function extractFontFaceRules (line 55) | function extractFontFaceRules(style: HTMLStyleElement): CSSFontFaceRule[] { function extractFontURLs (line 71) | function extractFontURLs(rule: CSSFontFaceRule): string[] { function preloadFonts (line 77) | function preloadFonts(fragment: DocumentFragment): Promise[] { function preloadResources (line 94) | async function preloadResources(html: string): Promise { FILE: ts/routes/card-info/[cardId]/+page.ts function optionalBigInt (line 7) | function optionalBigInt(x: any): bigint | null { FILE: ts/routes/card-info/[cardId]/[previousId]/+page.ts function optionalBigInt (line 8) | function optionalBigInt(x: any): bigint | null { FILE: ts/routes/card-info/forgetting-curve.ts constant MIN_POINTS (line 14) | const MIN_POINTS = 1000; function forgettingCurve (line 16) | function forgettingCurve(stability: number, daysElapsed: number, decay: ... type DataPoint (line 21) | interface DataPoint { type TimeRange (line 29) | enum TimeRange { constant MAX_DAYS (line 36) | const MAX_DAYS = { function filterDataByTimeRange (line 43) | function filterDataByTimeRange(data: DataPoint[], maxDays: number): Data... function filterRevlogEntryByReviewKind (line 47) | function filterRevlogEntryByReviewKind(entry: RevlogEntry): boolean { function filterRevlog (line 55) | function filterRevlog(revlog: RevlogEntry[]): RevlogEntry[] { function prepareData (line 70) | function prepareData(revlog: RevlogEntry[], maxDays: number, decay: numb... function calculateMaxDays (line 167) | function calculateMaxDays(filteredRevlog: RevlogEntry[], timeRange: Time... function renderForgettingCurve (line 181) | function renderForgettingCurve( FILE: ts/routes/change-notetype/index.ts function setupChangeNotetypePage (line 18) | async function setupChangeNotetypePage( FILE: ts/routes/change-notetype/lib.test.ts function differentState (line 72) | function differentState(): ChangeNotetypeState { function sameState (line 79) | function sameState(): ChangeNotetypeState { FILE: ts/routes/change-notetype/lib.ts function nullToNegativeOne (line 11) | function nullToNegativeOne(list: (number | null)[]): number[] { function negativeOneToNull (line 16) | function negativeOneToNull(list: number[]): (number | null)[] { class ChangeNotetypeInfoWrapper (line 21) | class ChangeNotetypeInfoWrapper { method constructor (line 28) | constructor(info: ChangeNotetypeInfo) { method mapForContext (line 41) | mapForContext(ctx: MapContext): (number | null)[] { method getOldIndex (line 47) | getOldIndex(ctx: MapContext, newIdx: number): number { method getOldNamesIncludingNothing (line 54) | getOldNamesIncludingNothing(ctx: MapContext): string[] { method getOldNames (line 59) | getOldNames(ctx: MapContext): string[] { method getOldNotetypeName (line 65) | getOldNotetypeName(): string { method getNewName (line 69) | getNewName(ctx: MapContext, idx: number): string { method unusedItems (line 77) | unusedItems(ctx: MapContext): string[] { method unchanged (line 87) | unchanged(): boolean { method input (line 95) | input(): ChangeNotetypeRequest { method intoInput (line 100) | intoInput(): ChangeNotetypeRequest { type NotetypeListEntry (line 111) | interface NotetypeListEntry { type MapContext (line 117) | enum MapContext { class ChangeNotetypeState (line 122) | class ChangeNotetypeState { method constructor (line 131) | constructor( method setTargetNotetypeIndex (line 146) | async setTargetNotetypeIndex(idx: number): Promise { method setOldIndex (line 159) | setOldIndex(ctx: MapContext, newIdx: number, oldIdx: number): void { method dataForSaving (line 178) | dataForSaving(): ChangeNotetypeRequest { method save (line 182) | async save(): Promise { method buildNotetypeList (line 190) | private buildNotetypeList(): NotetypeListEntry[] { FILE: ts/routes/congrats/index.ts function setupCongrats (line 20) | async function setupCongrats(): Promise { FILE: ts/routes/congrats/lib.ts function buildNextLearnMsg (line 8) | function buildNextLearnMsg(info: CongratsInfoResponse): string { FILE: ts/routes/deck-options/choices.ts function newGatherPriorityChoices (line 18) | function newGatherPriorityChoices(): Choice[] { function leechChoices (line 138) | function leechChoices(): Choice[] { function newInsertOrderChoices (line 151) | function newInsertOrderChoices(): Choice[] { function questionActionChoices (line 188) | function questionActionChoices(): Choice { FILE: ts/routes/deck-options/lib.test.ts function startingState (line 102) | function startingState(): DeckOptionsState { FILE: ts/routes/deck-options/lib.ts type DeckOptionsId (line 22) | type DeckOptionsId = bigint; type ConfigWithCount (line 24) | interface ConfigWithCount { type ConfigListEntry (line 30) | interface ConfigListEntry { type AllConfigs (line 37) | type AllConfigs = class DeckOptionsState (line 52) | class DeckOptionsState { method constructor (line 86) | constructor(targetDeckId: DeckOptionsId, data: DeckConfigsForUpdate) { method markCurrentPresetAsLoaded (line 148) | async markCurrentPresetAsLoaded(): Promise { method setCurrentIndex (line 165) | setCurrentIndex(index: number): void { method getCurrentName (line 175) | getCurrentName(): string { method getCurrentNameForSearch (line 179) | getCurrentNameForSearch(): string { method setCurrentName (line 183) | setCurrentName(name: string): void { method addConfig (line 198) | addConfig(name: string): void { method cloneConfig (line 203) | cloneConfig(name: string): void { method addConfigFrom (line 208) | private addConfigFrom(name: string, source: DeckConfig_Config): void { method removalWilLForceFullSync (line 224) | removalWilLForceFullSync(): boolean { method defaultConfigSelected (line 228) | defaultConfigSelected(): boolean { method removeCurrentConfig (line 233) | removeCurrentConfig(): void { method dataForSaving (line 247) | dataForSaving( method presetAssignmentsChanged (line 278) | presetAssignmentsChanged(): boolean { method save (line 282) | async save(mode: UpdateDeckConfigsMode): Promise { method onCurrentConfigChanged (line 288) | private onCurrentConfigChanged(config: DeckConfig_Config): void { method onCurrentAuxDataChanged (line 298) | private onCurrentAuxDataChanged(data: Record): void { method ensureNewNameUnique (line 309) | private ensureNewNameUnique(name: string): string { method updateCurrentConfig (line 318) | private updateCurrentConfig(): void { method updateConfigList (line 323) | private updateConfigList(): void { method getCurrentConfig (line 329) | private getCurrentConfig(): DeckConfig_Config { method getCurrentAuxData (line 334) | private getCurrentAuxData(): Record { method sortConfigs (line 339) | private sortConfigs() { method getConfigList (line 347) | private getConfigList(): ConfigListEntry[] { method getAllConfigs (line 360) | private getAllConfigs(): AllConfigs { method isModified (line 373) | async isModified(): Promise { method resolveOriginalConfigs (line 388) | resolveOriginalConfigs(): void { function bytesToObject (line 393) | function bytesToObject(bytes: Uint8Array): Record { function createLimits (line 415) | function createLimits(): DeckConfigsForUpdate_CurrentDeck_Limits { class ValueTab (line 419) | class ValueTab { method constructor (line 427) | constructor( method reset (line 441) | reset(): void { method disable (line 445) | disable(): void { method enable (line 449) | enable(fallbackValue: number): void { method setValue (line 454) | setValue(value: number): void { function commitEditing (line 461) | async function commitEditing(): Promise { function fsrsParams (line 468) | function fsrsParams(config: DeckConfig_Config): number[] { FILE: ts/routes/deck-options/steps.ts function unitSuffix (line 6) | function unitSuffix(unit: TimespanUnit): string { function suffixToUnit (line 22) | function suffixToUnit(suffix: string): TimespanUnit { function minutesToString (line 35) | function minutesToString(step: number): string { function stringToMinutes (line 46) | function stringToMinutes(text: string): number { function stepsToString (line 60) | function stepsToString(steps: number[]): string { function stringToSteps (line 64) | function stringToSteps(text: string): number[] { FILE: ts/routes/graphs/added.ts type GraphData (line 18) | interface GraphData { function gatherData (line 22) | function gatherData(data: GraphsResponse): GraphData { function makeQuery (line 26) | function makeQuery(start: number, end: number): string { function buildHistogram (line 37) | function buildHistogram( FILE: ts/routes/graphs/buttons.ts type ButtonCounts (line 29) | type ButtonCounts = number[]; type GraphData (line 31) | interface GraphData { function gatherData (line 37) | function gatherData(data: GraphsResponse, range: GraphRange): GraphData { type GroupKind (line 51) | type GroupKind = "learning" | "young" | "mature"; type Datum (line 53) | interface Datum { type TotalCorrect (line 59) | interface TotalCorrect { function renderButtons (line 65) | function renderButtons( FILE: ts/routes/graphs/calendar.ts type GraphData (line 30) | interface GraphData { type DayDatum (line 38) | interface DayDatum { function gatherData (line 48) | function gatherData( function renderCalendar (line 66) | function renderCalendar( function timeFunctionForDay (line 209) | function timeFunctionForDay(firstDayOfWeek: Weekday): CountableTimeInter... FILE: ts/routes/graphs/card-counts.ts type Count (line 27) | type Count = [string, number, boolean, string]; type GraphData (line 28) | interface GraphData { function countCards (line 44) | function countCards(data: GraphsResponse, separateInactive: boolean): Co... function gatherData (line 87) | function gatherData( type SummedDatum (line 101) | interface SummedDatum { type TableDatum (line 112) | interface TableDatum { function renderCards (line 120) | function renderCards( FILE: ts/routes/graphs/difficulty.ts type GraphData (line 19) | interface GraphData { function gatherData (line 24) | function gatherData(data: GraphsResponse): GraphData { function makeQuery (line 28) | function makeQuery(start: number, end: number): string { function prepareData (line 37) | function prepareData( FILE: ts/routes/graphs/ease.ts type GraphData (line 18) | interface GraphData { function gatherData (line 23) | function gatherData(data: GraphsResponse): GraphData { function makeQuery (line 27) | function makeQuery(start: number, end: number): string { function getAdjustedScaleAndTicks (line 38) | function getAdjustedScaleAndTicks( function prepareData (line 62) | function prepareData( FILE: ts/routes/graphs/future-due.ts type GraphData (line 19) | interface GraphData { function gatherData (line 25) | function gatherData(data: GraphsResponse): GraphData { type FutureDueResponse (line 34) | interface FutureDueResponse { function makeQuery (line 39) | function makeQuery(start: number, end: number): string { function withoutBacklog (line 49) | function withoutBacklog(data: Map): Map { function buildHistogram (line 59) | function buildHistogram( FILE: ts/routes/graphs/graph-helpers.ts type RevlogRange (line 15) | enum RevlogRange { function daysToRevlogRange (line 20) | function daysToRevlogRange(days: number): RevlogRange { type GraphRange (line 25) | enum GraphRange { type GraphBounds (line 32) | interface GraphBounds { function defaultGraphBounds (line 41) | function defaultGraphBounds(): GraphBounds { type GraphPrefs (line 52) | type GraphPrefs = PreferenceStore; function setDataAvailable (line 54) | function setDataAvailable( function millisecondCutoffForRange (line 65) | function millisecondCutoffForRange( type TableDatum (line 88) | interface TableDatum { type SearchEventMap (line 93) | type SearchEventMap = { search: { query: string } }; type SearchDispatch (line 94) | type SearchDispatch = (obj: { [k: string]: T }): Map { function getNumericMapBinValue (line 105) | function getNumericMapBinValue(d: Bin, number>): num... FILE: ts/routes/graphs/histogram-graph.ts type HistogramData (line 17) | interface HistogramData { function histogramGraph (line 33) | function histogramGraph( FILE: ts/routes/graphs/hours.ts type Hour (line 31) | interface Hour { function gatherData (line 37) | function gatherData(data: GraphsResponse, range: GraphRange): Hour[] { function renderHours (line 55) | function renderHours( FILE: ts/routes/graphs/index.ts function setupGraphs (line 18) | async function setupGraphs( FILE: ts/routes/graphs/intervals.ts type IntervalGraphData (line 19) | interface IntervalGraphData { type IntervalRange (line 23) | enum IntervalRange { function gatherIntervalData (line 30) | function gatherIntervalData(data: GraphsResponse_Intervals): IntervalGra... function intervalLabel (line 46) | function intervalLabel( function makeSm2Query (line 70) | function makeSm2Query(start: number, end: number): string { function makeFsrsQuery (line 80) | function makeFsrsQuery(start: number, end: number): string { function prepareIntervalData (line 89) | function prepareIntervalData( FILE: ts/routes/graphs/percentageRange.ts type PercentageRangeEnum (line 6) | enum PercentageRangeEnum { function PercentageRangeToQuantile (line 13) | function PercentageRangeToQuantile(range: PercentageRangeEnum) { function easeQuantile (line 23) | function easeQuantile(data: Map, quantile: number) { function percentageRangeMinMax (line 33) | function percentageRangeMinMax(data: Map, range: number ... function getAdjustedScaleAndTicks (line 40) | function getAdjustedScaleAndTicks( FILE: ts/routes/graphs/retrievability.ts type GraphData (line 19) | interface GraphData { function gatherData (line 26) | function gatherData(data: GraphsResponse): GraphData { function makeQuery (line 35) | function makeQuery(start: number, end: number): string { function prepareData (line 44) | function prepareData( FILE: ts/routes/graphs/reviews.ts type Reviews (line 38) | interface Reviews { type GraphData (line 46) | interface GraphData { type BinType (line 52) | type BinType = Bin, number>; function gatherData (line 54) | function gatherData(data: GraphsResponse): GraphData { type BinIndex (line 58) | enum BinIndex { function totalsForBin (line 66) | function totalsForBin(bin: BinType): number[] { function cumulativeBinValue (line 80) | function cumulativeBinValue(bin: BinType, idx: number): number { function renderReviews (line 84) | function renderReviews( FILE: ts/routes/graphs/simulator.ts type Point (line 26) | interface Point { type WorkloadPoint (line 34) | type WorkloadPoint = Point & { type SimulateSubgraph (line 38) | enum SimulateSubgraph { type SimulateWorkloadSubgraph (line 44) | enum SimulateWorkloadSubgraph { function renderWorkloadChart (line 51) | function renderWorkloadChart( function renderSimulationChart (line 111) | function renderSimulationChart( function _renderSimulationChart (line 188) | function _renderSimulationChart { FILE: ts/routes/image-occlusion/canvas-scale.ts function optimumPixelSizeForCanvas (line 13) | function optimumPixelSizeForCanvas(imageSize: Size, containerSize: Size)... function optimumCssSizeForCanvas (line 42) | function optimumCssSizeForCanvas(imageSize: Size, containerSize: Size): ... FILE: ts/routes/image-occlusion/fabric.d.ts type Object (line 5) | interface Object { FILE: ts/routes/image-occlusion/index.ts function setupImageOcclusion (line 29) | async function setupImageOcclusion(mode: IOMode, target = document.body)... FILE: ts/routes/image-occlusion/lib.ts type IOAddingMode (line 4) | interface IOAddingMode { type IOCloningMode (line 10) | interface IOCloningMode { type IOEditingMode (line 15) | interface IOEditingMode { type IOMode (line 20) | type IOMode = IOAddingMode | IOEditingMode | IOCloningMode; FILE: ts/routes/image-occlusion/mask-editor.ts type ImageLoadedEvent (line 32) | interface ImageLoadedEvent { function initCanvas (line 104) | function initCanvas(): fabric.Canvas { function containerSize (line 211) | function containerSize(): Size { function resetIOImage (line 219) | async function resetIOImage(path: string, onImageLoaded: (event: ImageLo... FILE: ts/routes/image-occlusion/review.ts type DrawShapesData (line 13) | type DrawShapesData = { type DrawShapesFilter (line 20) | type DrawShapesFilter = ( type DrawShapesCallback (line 25) | type DrawShapesCallback = ( type SetupImageOcclusionOptions (line 40) | interface SetupImageOcclusionOptions { function setupImageOcclusion (line 45) | async function setupImageOcclusion(setupOptions?: SetupImageOcclusionOpt... function waitForImage (line 55) | async function waitForImage(): Promise { function calculateContainerSize (line 84) | function calculateContainerSize( function setupImageOcclusionInner (line 118) | async function setupImageOcclusionInner(setupOptions?: SetupImageOcclusi... function drawShapes (line 181) | function drawShapes( type DrawShapeParameters (line 244) | interface DrawShapeParameters { function drawShape (line 253) | function drawShape({ function getPolygonOffset (line 369) | function getPolygonOffset(polygon: Polygon): { x: number; y: number } { function topLeftOfPoints (line 374) | function topLeftOfPoints(points: { x: number; y: number }[]): { type ShapeProperties (line 391) | type ShapeProperties = { function getShapeProperties (line 399) | function getShapeProperties(): ShapeProperties { FILE: ts/routes/image-occlusion/shapes/base.ts type ShapeOrShapes (line 11) | type ShapeOrShapes = Shape | Shape[]; class Shape (line 18) | class Shape { method constructor (line 31) | constructor( method toDataForCloze (line 46) | toDataForCloze(): ShapeDataForCloze { method toFabric (line 55) | toFabric(size: Size): fabric.Object { method normalPosition (line 60) | normalPosition(size: Size) { method toNormal (line 67) | toNormal(size: Size): Shape { method absolutePosition (line 74) | absolutePosition(size: Size) { method toAbsolute (line 81) | toAbsolute(size: Size): Shape { type ShapeDataForCloze (line 89) | interface ShapeDataForCloze { FILE: ts/routes/image-occlusion/shapes/ellipse.ts class Ellipse (line 13) | class Ellipse extends Shape { method constructor (line 17) | constructor({ rx = 0, ry = 0, ...rest }: ConstructorParams = ... method toDataForCloze (line 24) | toDataForCloze(): EllipseDataForCloze { method toFabric (line 33) | toFabric(size: Size): fabric.Ellipse { method toNormal (line 38) | toNormal(size: Size): Ellipse { method toAbsolute (line 47) | toAbsolute(size: Size): Ellipse { type EllipseDataForCloze (line 57) | interface EllipseDataForCloze extends ShapeDataForCloze { FILE: ts/routes/image-occlusion/shapes/from-cloze.ts function extractShapesFromClozedField (line 17) | function extractShapesFromClozedField( function extractShapesFromRenderedClozes (line 46) | function extractShapesFromRenderedClozes(selector: string): Shape[] { function extractShapeFromRenderedCloze (line 56) | function extractShapeFromRenderedCloze(cloze: HTMLDivElement): Shape | n... type ShapeType (line 85) | type ShapeType = "rect" | "ellipse" | "polygon" | "text"; function isValidType (line 87) | function isValidType(type: string): type is ShapeType { function buildShape (line 91) | function buildShape(type: ShapeType, props: Record): Shape { FILE: ts/routes/image-occlusion/shapes/lib.ts function floatToDisplay (line 8) | function floatToDisplay(number: number): string { constant ANGLE_STEPS (line 15) | const ANGLE_STEPS = 10000; function angleToStored (line 17) | function angleToStored(angle: any): number | null { function storedToAngle (line 22) | function storedToAngle(x: any): number | null { FILE: ts/routes/image-occlusion/shapes/polygon.ts class Polygon (line 13) | class Polygon extends Shape { method constructor (line 16) | constructor({ points = [], ...rest }: ConstructorParams = {}) { method toDataForCloze (line 22) | toDataForCloze(): PolygonDataForCloze { method toFabric (line 30) | toFabric(size: Size): fabric.Polygon { method toNormal (line 36) | toNormal(size: Size): Polygon { method toAbsolute (line 51) | toAbsolute(size: Size): Polygon { type PolygonDataForCloze (line 67) | interface PolygonDataForCloze extends ShapeDataForCloze { class Point (line 72) | class Point { method constructor (line 76) | constructor({ x = 0, y = 0 }: ConstructorParams = {}) { FILE: ts/routes/image-occlusion/shapes/position.ts function xToNormalized (line 7) | function xToNormalized(size: Size, x: number): number { function yToNormalized (line 12) | function yToNormalized(size: Size, y: number): number { function xFromNormalized (line 17) | function xFromNormalized(size: Size, x: number): number { function yFromNormalized (line 22) | function yFromNormalized(size: Size, y: number): number { FILE: ts/routes/image-occlusion/shapes/rectangle.ts class Rectangle (line 13) | class Rectangle extends Shape { method constructor (line 17) | constructor({ width = 0, height = 0, ...rest }: ConstructorParams): void { method push (line 118) | private push(): void { method undo (line 129) | undo(): void { method redo (line 141) | redo(): void { FILE: ts/routes/image-occlusion/tools/tool-zoom.ts function upperCanvasElement (line 82) | function upperCanvasElement(canvas: fabric.Canvas): HTMLElement { FILE: ts/routes/image-occlusion/types.ts type Size (line 4) | interface Size { type ConstructorParams (line 9) | type ConstructorParams = { FILE: ts/routes/import-anki-package/choices.ts function updateChoices (line 9) | function updateChoices(): Choice[] { FILE: ts/routes/import-anki-package/index.ts function setupImportAnkiPackagePage (line 26) | async function setupImportAnkiPackagePage( FILE: ts/routes/import-csv/choices.ts function delimiterChoices (line 13) | function delimiterChoices(): Choice[] { function dupeResolutionChoices (line 42) | function dupeResolutionChoices(): Choice[] { function matchScopeChoices (line 50) | function matchScopeChoices(): Choice[] { FILE: ts/routes/import-csv/index.ts function setupImportCsvPage (line 32) | async function setupImportCsvPage(path: string): Promise { method onMetadataChanged (line 101) | private async onMetadataChanged(changed: CsvMetadata) { method shouldRefetchMetadata (line 136) | private shouldRefetchMetadata(changed: CsvMetadata): boolean { method shouldRebuildColumnOptions (line 141) | private shouldRebuildColumnOptions(changed: CsvMetadata): boolean { method onGlobalNotetypeChanged (line 146) | private onGlobalNotetypeChanged(globalNotetype: CsvMetadata_MappedNote... method onDeckIdChanged (line 159) | private onDeckIdChanged(deckId: bigint | null) { function getColumnOptions (line 179) | function getColumnOptions( function columnOption (line 202) | function columnOption( function getDeckColumn (line 216) | function getDeckColumn(meta: CsvMetadata): number | null { function getNotetypeColumn (line 220) | function getNotetypeColumn(meta: CsvMetadata): number | null { FILE: ts/routes/import-page/index.ts function setupImportPage (line 25) | async function setupImportPage( FILE: ts/routes/import-page/lib.ts function getFirstFieldQueue (line 13) | function getFirstFieldQueue(log: ImportResponse_Log): { function getSummaries (line 36) | function getSummaries(log: ImportResponse_Log): SummarizedLogQueues[] { function getRows (line 109) | function getRows(summaries: SummarizedLogQueues[]): NoteRow[] { function showInBrowser (line 123) | function showInBrowser(notes: ImportResponse_Note[]): void { FILE: ts/routes/import-page/types.ts type LogQueue (line 8) | type LogQueue = { type SummarizedLogQueues (line 13) | type SummarizedLogQueues = { type NoteRow (line 21) | type NoteRow = { type PathParams (line 27) | type PathParams = { type JsonParams (line 32) | type JsonParams = { type LogParams (line 38) | type LogParams = PathParams | JsonParams; FILE: ts/src/hooks.client.js function handleError (line 2) | async function handleError({ error, event, status, message }) { FILE: ts/tools/markpure.ts function allFilesInDir (line 7) | function allFilesInDir(directory): string[] { function adjustFiles (line 25) | function adjustFiles() { FILE: ts/tools/sql_format.ts function formatText (line 9) | function formatText(text: string): string {