SYMBOL INDEX (50 symbols across 12 files) FILE: run_tests.py function main (line 14) | def main(argv=None): FILE: src/alphabetical.py function convert_to_title_case (line 7) | def convert_to_title_case(readme_text): function find_duplicate_lines (line 52) | def find_duplicate_lines(lines, ignore_case=False, ignore_trailing_white... function sort_lists_alphabetically (line 87) | def sort_lists_alphabetically(lines): function _normalize_url (line 130) | def _normalize_url(url: str) -> str: function _is_emoji_codepoint (line 181) | def _is_emoji_codepoint(cp: int) -> bool: function has_emoji (line 188) | def has_emoji(text: str) -> bool: function link_text_has_emoji (line 203) | def link_text_has_emoji(markdown_line: str) -> bool: function emoji_adjacent_to_link (line 217) | def emoji_adjacent_to_link(markdown_line: str) -> bool: function _remove_emoji_chars (line 241) | def _remove_emoji_chars(s: str) -> (str, int): function remove_emoji_from_lines (line 261) | def remove_emoji_from_lines(lines): function remove_emoji_from_readme (line 317) | def remove_emoji_from_readme(dry_run=True, backup=True): function remove_duplicate_urls (line 346) | def remove_duplicate_urls(lines): function remove_exact_duplicate_links (line 369) | def remove_exact_duplicate_links(lines): function extract_portfolio_data (line 423) | def extract_portfolio_data(lines): function create_feed_json (line 457) | def create_feed_json(readme_path="README.md", output_path="feed.json"): function main (line 477) | def main(): FILE: src/generate_feed.py function extract_portfolio_data (line 17) | def extract_portfolio_data(lines): function create_feed_json (line 51) | def create_feed_json(readme_path="README.md", output_path="feed.json"): function main (line 74) | def main(): FILE: src/remove_emoji_in_readme.py function main (line 29) | def main(argv=None): FILE: src/run_dup_report.py function main (line 13) | def main(): FILE: src/run_tests.py function main (line 14) | def main(argv=None): FILE: tests/test_alphabetical.py class TestAlphabetical (line 5) | class TestAlphabetical(unittest.TestCase): method test_trim_and_remove_duplicate (line 6) | def test_trim_and_remove_duplicate(self): method test_case_sensitive (line 17) | def test_case_sensitive(self): method test_url_normalization (line 27) | def test_url_normalization(self): method test_non_markdown_ignored (line 36) | def test_non_markdown_ignored(self): method test_multiple_adjacent_duplicates (line 48) | def test_multiple_adjacent_duplicates(self): method test_remove_leading_single_letter_token (line 59) | def test_remove_leading_single_letter_token(self): method test_strip_aaa_prefix_token (line 70) | def test_strip_aaa_prefix_token(self): FILE: tests/test_emoji_detection.py class TestEmojiDetection (line 5) | class TestEmojiDetection(unittest.TestCase): method test_link_text_with_emoji (line 6) | def test_link_text_with_emoji(self): method test_no_emoji_in_link_text (line 10) | def test_no_emoji_in_link_text(self): method test_emoji_in_bracketed_description (line 14) | def test_emoji_in_bracketed_description(self): method test_emoji_in_parenthesized_description (line 18) | def test_emoji_in_parenthesized_description(self): method test_zwj_sequence_detection (line 22) | def test_zwj_sequence_detection(self): method test_url_with_emoji_but_not_text (line 28) | def test_url_with_emoji_but_not_text(self): FILE: tests/test_feed_json.py function test_extract_portfolio_data (line 16) | def test_extract_portfolio_data(): function test_feed_json_structure (line 54) | def test_feed_json_structure(): function main (line 87) | def main(): FILE: tests/test_fullstack_variants.py class TestFullStackVariants (line 7) | class TestFullStackVariants(unittest.TestCase): method test_bracket_variants_normalized (line 8) | def test_bracket_variants_normalized(self): FILE: tests/test_main_e2e.py class TestMainE2E (line 7) | class TestMainE2E(unittest.TestCase): method test_main_trims_and_writes_backup (line 8) | def test_main_trims_and_writes_backup(self): FILE: tests/test_remove_emoji.py class TestRemoveEmoji (line 5) | class TestRemoveEmoji(unittest.TestCase): method test_remove_from_link_text (line 6) | def test_remove_from_link_text(self): method test_remove_from_bracket_desc (line 13) | def test_remove_from_bracket_desc(self): method test_remove_from_paren_desc (line 20) | def test_remove_from_paren_desc(self): method test_no_emoji (line 26) | def test_no_emoji(self):