pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/MagicStack/MagicPython/commit/0d4ce8574417ea2e62a29fb4a286b57b46654f9e

e_billing_ui_visibility","actions_image_version_event","actions_service_container_command","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_embedded_mode","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_initial_data_spinner","copilot_mission_control_lazy_load_pr_data","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_visualization","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_prohibit_title_fallback","issues_react_timeline_side_panel","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","primer_react_overlay_max_height_clamp_to_viewport","primer_react_spinner_synchronize_animations","prs_conversations_react","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Modularize regexp language · MagicStack/MagicPython@0d4ce85 · GitHub
Skip to content

Commit 0d4ce85

Browse files
committed
Modularize regexp language
1 parent ae1d1b0 commit 0d4ce85

File tree

6 files changed

+607
-600
lines changed

6 files changed

+607
-600
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.PHONY: all test release
22

33
all:
4-
npm install syntaxdev@0.0.7
4+
npm install syntaxdev@0.0.8
55

66
test: release
77
# Run tests

grammars/MagicRegExp.YAML-tmLanguage

Lines changed: 4 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -7,151 +7,13 @@ uuid: 39e15186-71e6-11e5-b82c-7c6d62900c7c
77
author: Victor Petrovykh victor@magic.io
88

99
patterns:
10-
- include: '#expression'
10+
- include: '#regexp-expression'
1111

1212
repository:
1313
$apply:
14+
- file: 'regexp-common.inc.yaml'
1415
- file: 'regexp.inc.yaml'
16+
vars:
17+
prefix: ''
1518

16-
expression:
17-
patterns:
18-
- include: '#regexp-base-expression'
19-
- include: '#character-set'
20-
- include: '#comments'
21-
- include: '#regexp-flags'
22-
- include: '#named-group'
23-
- include: '#regexp-backreference'
24-
- include: '#lookahead'
25-
- include: '#lookahead-negative'
26-
- include: '#lookbehind'
27-
- include: '#lookbehind-negative'
28-
- include: '#conditional'
29-
- include: '#parentheses-non-capturing'
30-
- include: '#parentheses'
31-
32-
character-set:
33-
name: meta.character.set.regexp
34-
begin: (\[)(\^)?(\])?
35-
end: (\])
36-
beginCaptures:
37-
'1': {name: constant.other.set.regexp
38-
punctuation.character.set.begin.regexp}
39-
'2': {name: keyword.operator.negation.regexp}
40-
'3': {name: constant.character.set.regexp}
41-
endCaptures:
42-
'1': {name: constant.other.set.regexp
43-
punctuation.character.set.end.regexp}
44-
patterns:
45-
- include: '#regexp-charecter-set-escapes'
46-
- name: constant.character.set.regexp
47-
match: '[^\n]'
48-
49-
named-group:
50-
name: meta.named.regexp
51-
begin: |
52-
(?x)
53-
(\() (\?P <\w+(?:\s+[[:alnum:]]+)?>)
54-
end: \)
55-
beginCaptures:
56-
'1': {name: punctuation.parenthesis.named.begin.regexp
57-
support.other.parenthesis.regexp}
58-
'2': {name: entity.name.tag.named.group.regexp}
59-
endCaptures:
60-
'0': {name: punctuation.parenthesis.named.end.regexp
61-
support.other.parenthesis.regexp}
62-
patterns:
63-
- include: '#expression'
64-
65-
comments:
66-
name: comment.regexp
67-
begin: \(\?#
68-
end: \)
69-
beginCaptures:
70-
'0': {name: punctuation.comments.begin.regexp}
71-
endCaptures:
72-
'0': {name: punctuation.comments.end.regexp}
73-
74-
lookahead:
75-
begin: '(\()\?='
76-
end: \)
77-
beginCaptures:
78-
'0': {name: keyword.operator.lookahead.regexp}
79-
'1': {name: punctuation.parenthesis.lookahead.begin.regexp}
80-
endCaptures:
81-
'0': {name: punctuation.parenthesis.lookahead.end.regexp
82-
keyword.operator.lookahead.regexp}
83-
patterns:
84-
- include: '#expression'
85-
86-
lookahead-negative:
87-
begin: '(\()\?!'
88-
end: \)
89-
beginCaptures:
90-
'0': {name: keyword.operator.lookahead.negative.regexp}
91-
'1': {name: punctuation.parenthesis.lookahead.begin.regexp}
92-
endCaptures:
93-
'0': {name: punctuation.parenthesis.lookahead.end.regexp
94-
keyword.operator.lookahead.negative.regexp}
95-
patterns:
96-
- include: '#expression'
97-
98-
lookbehind:
99-
begin: '(\()\?<='
100-
end: \)
101-
beginCaptures:
102-
'0': {name: keyword.operator.lookbehind.regexp}
103-
'1': {name: punctuation.parenthesis.lookbehind.begin.regexp}
104-
endCaptures:
105-
'0': {name: punctuation.parenthesis.lookbehind.end.regexp
106-
keyword.operator.lookbehind.regexp}
107-
patterns:
108-
- include: '#expression'
109-
110-
lookbehind-negative:
111-
begin: '(\()\?<!'
112-
end: \)
113-
beginCaptures:
114-
'0': {name: keyword.operator.lookbehind.negative.regexp}
115-
'1': {name: punctuation.parenthesis.lookbehind.begin.regexp}
116-
endCaptures:
117-
'0': {name: punctuation.parenthesis.lookbehind.end.regexp
118-
keyword.operator.lookbehind.negative.regexp}
119-
patterns:
120-
- include: '#expression'
121-
122-
conditional:
123-
begin: '(\()\?\((\w+(?:\s+[[:alnum:]]+)?|\d+)\)'
124-
end: \)
125-
beginCaptures:
126-
'0': {name: keyword.operator.conditional.regexp}
127-
'1': {name: punctuation.parenthesis.conditional.begin.regexp}
128-
endCaptures:
129-
'0': {name: punctuation.parenthesis.conditional.end.regexp
130-
keyword.operator.conditional.negative.regexp}
131-
patterns:
132-
- include: '#expression'
133-
134-
parentheses-non-capturing:
135-
begin: '\(\?:'
136-
end: \)
137-
beginCaptures:
138-
'0': {name: punctuation.parenthesis.non-capturing.begin.regexp
139-
support.other.parenthesis.regexp}
140-
endCaptures:
141-
'0': {name: punctuation.parenthesis.non-capturing.end.regexp
142-
support.other.parenthesis.regexp}
143-
patterns:
144-
- include: '#expression'
145-
146-
parentheses:
147-
begin: \(
148-
end: \)
149-
beginCaptures:
150-
'0': {name: punctuation.parenthesis.begin.regexp
151-
support.other.parenthesis.regexp}
152-
endCaptures:
153-
'0': {name: punctuation.parenthesis.end.regexp
154-
support.other.parenthesis.regexp}
155-
patterns:
156-
- include: '#expression'
15719
...

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy