|
2745 | 2745 | ] |
2746 | 2746 | }, |
2747 | 2747 | "yard": { |
2748 | | - "name": "comment.line.yard.ruby", |
2749 | 2748 | "patterns": [ |
2750 | 2749 | { |
2751 | 2750 | "include": "#yard_comment" |
2752 | 2751 | }, |
2753 | 2752 | { |
2754 | | - "include": "#yard_name_types" |
| 2753 | + "include": "#yard_param_types" |
2755 | 2754 | }, |
2756 | 2755 | { |
2757 | | - "include": "#yard_param_types" |
| 2756 | + "include": "#yard_option" |
2758 | 2757 | }, |
2759 | 2758 | { |
2760 | 2759 | "include": "#yard_tag" |
|
2764 | 2763 | }, |
2765 | 2764 | { |
2766 | 2765 | "include": "#yard_directive" |
| 2766 | + }, |
| 2767 | + { |
| 2768 | + "include": "#yard_see" |
| 2769 | + }, |
| 2770 | + { |
| 2771 | + "include": "#yard_macro_attribute" |
| 2772 | + } |
| 2773 | + ] |
| 2774 | + }, |
| 2775 | + "yard_see": { |
| 2776 | + "comment": "separate rule for @see because name could contain url", |
| 2777 | + "begin": "^(\\s*)(#)(\\s*)(@)(see)(?=\\s)(\\s+(.+?))?(?=\\s|$)", |
| 2778 | + "beginCaptures": { |
| 2779 | + "2": { |
| 2780 | + "name": "punctuation.definition.comment.ruby" |
| 2781 | + }, |
| 2782 | + "4": { |
| 2783 | + "name": "comment.line.keyword.punctuation.yard.ruby" |
| 2784 | + }, |
| 2785 | + "5": { |
| 2786 | + "name": "comment.line.keyword.yard.ruby" |
| 2787 | + }, |
| 2788 | + "7": { |
| 2789 | + "name": "comment.line.parameter.yard.ruby" |
| 2790 | + } |
| 2791 | + }, |
| 2792 | + "end": "^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)", |
| 2793 | + "contentName": "comment.line.string.yard.ruby", |
| 2794 | + "name": "comment.line.number-sign.ruby", |
| 2795 | + "patterns": [ |
| 2796 | + { |
| 2797 | + "include": "#yard" |
| 2798 | + }, |
| 2799 | + { |
| 2800 | + "include": "#yard_continuation" |
| 2801 | + } |
| 2802 | + ] |
| 2803 | + }, |
| 2804 | + "yard_macro_attribute": { |
| 2805 | + "comment": "separate rule for attribute and macro tags because name goes after []", |
| 2806 | + "begin": "^(\\s*)(#)(\\s*)(@!)(attribute|macro)(\\s+((\\[).+(])))?(?=\\s)(\\s+([a-z_]\\w*:?))?", |
| 2807 | + "beginCaptures": { |
| 2808 | + "2": { |
| 2809 | + "name": "punctuation.definition.comment.ruby" |
| 2810 | + }, |
| 2811 | + "4": { |
| 2812 | + "name": "comment.line.keyword.punctuation.yard.ruby" |
| 2813 | + }, |
| 2814 | + "5": { |
| 2815 | + "name": "comment.line.keyword.yard.ruby" |
| 2816 | + }, |
| 2817 | + "7": { |
| 2818 | + "name": "comment.line.type.yard.ruby" |
| 2819 | + }, |
| 2820 | + "8": { |
| 2821 | + "name": "comment.line.punctuation.yard.ruby" |
| 2822 | + }, |
| 2823 | + "9": { |
| 2824 | + "name": "comment.line.punctuation.yard.ruby" |
| 2825 | + }, |
| 2826 | + "11": { |
| 2827 | + "name": "comment.line.parameter.yard.ruby" |
| 2828 | + } |
| 2829 | + }, |
| 2830 | + "end": "^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)", |
| 2831 | + "contentName": "comment.line.string.yard.ruby", |
| 2832 | + "name": "comment.line.number-sign.ruby", |
| 2833 | + "patterns": [ |
| 2834 | + { |
| 2835 | + "include": "#yard" |
| 2836 | + }, |
| 2837 | + { |
| 2838 | + "include": "#yard_continuation" |
2767 | 2839 | } |
2768 | 2840 | ] |
2769 | 2841 | }, |
2770 | 2842 | "yard_comment": { |
2771 | 2843 | "comment": "For YARD tags that follow the tag-comment pattern", |
2772 | 2844 | "begin": "^(\\s*)(#)(\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\s|$)", |
2773 | 2845 | "beginCaptures": { |
2774 | | - "1": { |
2775 | | - "name": "comment.line.yard.ruby" |
2776 | | - }, |
2777 | 2846 | "2": { |
2778 | 2847 | "name": "punctuation.definition.comment.ruby" |
2779 | 2848 | }, |
2780 | | - "3": { |
2781 | | - "name": "comment.line.yard.ruby" |
2782 | | - }, |
2783 | 2849 | "4": { |
2784 | 2850 | "name": "comment.line.keyword.punctuation.yard.ruby" |
2785 | 2851 | }, |
2786 | 2852 | "5": { |
2787 | 2853 | "name": "comment.line.keyword.yard.ruby" |
2788 | 2854 | } |
2789 | 2855 | }, |
2790 | | - "end": "^(?!\\s*#\\3\\s{2,})", |
| 2856 | + "end": "^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)", |
2791 | 2857 | "contentName": "comment.line.string.yard.ruby", |
2792 | 2858 | "name": "comment.line.number-sign.ruby", |
2793 | 2859 | "patterns": [ |
|
2799 | 2865 | } |
2800 | 2866 | ] |
2801 | 2867 | }, |
2802 | | - "yard_name_types": { |
2803 | | - "comment": "For YARD tags that follow the tag-name-types-comment pattern", |
2804 | | - "begin": "^(\\s*)(#)(\\s*)(@)(attr|attr_reader|attr_writer|see|yieldparam)(?=\\s)(\\s+([a-z_][a-zA-Z_]*))?(\\s+((\\[).+(])))?", |
| 2868 | + "yard_param_types": { |
| 2869 | + "comment": "For YARD tags that follow the tag-name-types-description or tag-types-name-description pattern", |
| 2870 | + "begin": "^(\\s*)(#)(\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\s)(?>\\s+(?>([a-z_]\\w*:?)|((\\[).+(]))))?(?>\\s+(?>((\\[).+(]))|([a-z_]\\w*:?)))?", |
2805 | 2871 | "beginCaptures": { |
2806 | | - "1": { |
2807 | | - "name": "comment.line.yard.ruby" |
2808 | | - }, |
2809 | 2872 | "2": { |
2810 | 2873 | "name": "punctuation.definition.comment.ruby" |
2811 | 2874 | }, |
2812 | | - "3": { |
2813 | | - "name": "comment.line.yard.ruby" |
2814 | | - }, |
2815 | 2875 | "4": { |
2816 | 2876 | "name": "comment.line.keyword.punctuation.yard.ruby" |
2817 | 2877 | }, |
2818 | 2878 | "5": { |
2819 | 2879 | "name": "comment.line.keyword.yard.ruby" |
2820 | 2880 | }, |
2821 | 2881 | "6": { |
2822 | | - "name": "comment.line.yard.ruby" |
| 2882 | + "name": "comment.line.parameter.yard.ruby" |
2823 | 2883 | }, |
2824 | 2884 | "7": { |
2825 | | - "name": "comment.line.parameter.yard.ruby" |
| 2885 | + "name": "comment.line.type.yard.ruby" |
2826 | 2886 | }, |
2827 | 2887 | "8": { |
2828 | | - "name": "comment.line.yard.ruby" |
| 2888 | + "name": "comment.line.punctuation.yard.ruby" |
2829 | 2889 | }, |
2830 | 2890 | "9": { |
2831 | | - "name": "comment.line.type.yard.ruby" |
| 2891 | + "name": "comment.line.punctuation.yard.ruby" |
2832 | 2892 | }, |
2833 | 2893 | "10": { |
2834 | | - "name": "comment.line.punctuation.yard.ruby" |
| 2894 | + "name": "comment.line.type.yard.ruby" |
2835 | 2895 | }, |
2836 | 2896 | "11": { |
2837 | 2897 | "name": "comment.line.punctuation.yard.ruby" |
| 2898 | + }, |
| 2899 | + "12": { |
| 2900 | + "name": "comment.line.punctuation.yard.ruby" |
| 2901 | + }, |
| 2902 | + "13": { |
| 2903 | + "name": "comment.line.parameter.yard.ruby" |
2838 | 2904 | } |
2839 | 2905 | }, |
2840 | | - "end": "^(?!\\s*#\\3\\s{2,})", |
| 2906 | + "end": "^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)", |
2841 | 2907 | "contentName": "comment.line.string.yard.ruby", |
2842 | 2908 | "name": "comment.line.number-sign.ruby", |
2843 | 2909 | "patterns": [ |
|
2849 | 2915 | } |
2850 | 2916 | ] |
2851 | 2917 | }, |
2852 | | - "yard_param_types": { |
2853 | | - "comment": "For YARD tags that follow the tag-param-types-comment pattern", |
2854 | | - "begin": "^(\\s*)(#)(\\s*)(@)(option|param)(?=\\s)(\\s+([a-z_][a-zA-Z_]*:?))?(\\s+((\\[).+(])))?(\\s+(:[a-z_][a-zA-Z_]*))?", |
| 2918 | + "yard_option": { |
| 2919 | + "comment": "For YARD option tag that follow the tag-name-types-key-(value)-description pattern", |
| 2920 | + "begin": "^(\\s*)(#)(\\s*)(@)(option)(?=\\s)(?>\\s+([a-z_]\\w*:?))?(?>\\s+((\\[).+(])))?(?>\\s+((\\S*)))?(?>\\s+((\\().+(\\))))?", |
2855 | 2921 | "beginCaptures": { |
2856 | | - "1": { |
2857 | | - "name": "comment.line.yard.ruby" |
2858 | | - }, |
2859 | 2922 | "2": { |
2860 | 2923 | "name": "punctuation.definition.comment.ruby" |
2861 | 2924 | }, |
2862 | | - "3": { |
2863 | | - "name": "comment.line.yard.ruby" |
2864 | | - }, |
2865 | 2925 | "4": { |
2866 | 2926 | "name": "comment.line.keyword.punctuation.yard.ruby" |
2867 | 2927 | }, |
2868 | 2928 | "5": { |
2869 | 2929 | "name": "comment.line.keyword.yard.ruby" |
2870 | 2930 | }, |
2871 | 2931 | "6": { |
2872 | | - "name": "comment.line.yard.ruby" |
| 2932 | + "name": "comment.line.parameter.yard.ruby" |
2873 | 2933 | }, |
2874 | 2934 | "7": { |
2875 | | - "name": "comment.line.parameter.yard.ruby" |
| 2935 | + "name": "comment.line.type.yard.ruby" |
2876 | 2936 | }, |
2877 | 2937 | "8": { |
2878 | | - "name": "comment.line.yard.ruby" |
| 2938 | + "name": "comment.line.punctuation.yard.ruby" |
2879 | 2939 | }, |
2880 | 2940 | "9": { |
2881 | | - "name": "comment.line.type.yard.ruby" |
| 2941 | + "name": "comment.line.punctuation.yard.ruby" |
2882 | 2942 | }, |
2883 | 2943 | "10": { |
2884 | | - "name": "comment.line.punctuation.yard.ruby" |
| 2944 | + "name": "comment.line.keyword.yard.ruby" |
2885 | 2945 | }, |
2886 | 2946 | "11": { |
2887 | | - "name": "comment.line.punctuation.yard.ruby" |
| 2947 | + "name": "comment.line.hashkey.yard.ruby" |
2888 | 2948 | }, |
2889 | 2949 | "12": { |
2890 | | - "name": "comment.line.punctuation.yard.ruby" |
| 2950 | + "name": "comment.line.defaultvalue.yard.ruby" |
2891 | 2951 | }, |
2892 | 2952 | "13": { |
2893 | | - "name": "comment.line.keyword.yard.ruby" |
| 2953 | + "name": "comment.line.punctuation.yard.ruby" |
2894 | 2954 | }, |
2895 | 2955 | "14": { |
2896 | 2956 | "name": "comment.line.punctuation.yard.ruby" |
2897 | 2957 | } |
2898 | 2958 | }, |
2899 | | - "end": "^(?!\\s*#\\3\\s{2,})", |
| 2959 | + "end": "^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)", |
2900 | 2960 | "contentName": "comment.line.string.yard.ruby", |
2901 | 2961 | "name": "comment.line.number-sign.ruby", |
2902 | 2962 | "patterns": [ |
|
2912 | 2972 | "comment": "For YARD tags that are just the tag", |
2913 | 2973 | "match": "^(\\s*)(#)(\\s*)(@)(private)$", |
2914 | 2974 | "captures": { |
2915 | | - "1": { |
2916 | | - "name": "comment.line.yard.ruby" |
2917 | | - }, |
2918 | 2975 | "2": { |
2919 | 2976 | "name": "punctuation.definition.comment.ruby" |
2920 | 2977 | }, |
2921 | | - "3": { |
2922 | | - "name": "comment.line.yard.ruby" |
2923 | | - }, |
2924 | 2978 | "4": { |
2925 | 2979 | "name": "comment.line.keyword.punctuation.yard.ruby" |
2926 | 2980 | }, |
|
2934 | 2988 | "comment": "For YARD tags that follow the tag-types-comment pattern", |
2935 | 2989 | "begin": "^(\\s*)(#)(\\s*)(@)(raise|return|yield(?:return)?)(?=\\s)(\\s+((\\[).+(])))?", |
2936 | 2990 | "beginCaptures": { |
2937 | | - "1": { |
2938 | | - "name": "comment.line.yard.ruby" |
2939 | | - }, |
2940 | 2991 | "2": { |
2941 | 2992 | "name": "punctuation.definition.comment.ruby" |
2942 | 2993 | }, |
2943 | | - "3": { |
2944 | | - "name": "comment.line.yard.ruby" |
2945 | | - }, |
2946 | 2994 | "4": { |
2947 | 2995 | "name": "comment.line.keyword.punctuation.yard.ruby" |
2948 | 2996 | }, |
2949 | 2997 | "5": { |
2950 | 2998 | "name": "comment.line.keyword.yard.ruby" |
2951 | 2999 | }, |
2952 | | - "6": { |
2953 | | - "name": "comment.line.yard.ruby" |
2954 | | - }, |
2955 | 3000 | "7": { |
2956 | 3001 | "name": "comment.line.type.yard.ruby" |
2957 | 3002 | }, |
|
2962 | 3007 | "name": "comment.line.punctuation.yard.ruby" |
2963 | 3008 | } |
2964 | 3009 | }, |
2965 | | - "end": "^(?!\\s*#\\3\\s{2,})", |
| 3010 | + "end": "^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)", |
2966 | 3011 | "contentName": "comment.line.string.yard.ruby", |
2967 | 3012 | "name": "comment.line.number-sign.ruby", |
2968 | 3013 | "patterns": [ |
|
2976 | 3021 | }, |
2977 | 3022 | "yard_directive": { |
2978 | 3023 | "comment": "For YARD directives", |
2979 | | - "begin": "^(\\s*)(#)(\\s*)(@!)(attribute|endgroup|group|macro|method|parse|scope|visibility)(\\s+((\\[).+(])))?(?=\\s)", |
| 3024 | + "begin": "^(\\s*)(#)(\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\s+((\\[).+(])))?(?=\\s)", |
2980 | 3025 | "beginCaptures": { |
2981 | | - "1": { |
2982 | | - "name": "comment.line.yard.ruby" |
2983 | | - }, |
2984 | 3026 | "2": { |
2985 | 3027 | "name": "punctuation.definition.comment.ruby" |
2986 | 3028 | }, |
2987 | | - "3": { |
2988 | | - "name": "comment.line.yard.ruby" |
2989 | | - }, |
2990 | 3029 | "4": { |
2991 | 3030 | "name": "comment.line.keyword.punctuation.yard.ruby" |
2992 | 3031 | }, |
2993 | 3032 | "5": { |
2994 | 3033 | "name": "comment.line.keyword.yard.ruby" |
2995 | 3034 | }, |
2996 | | - "6": { |
2997 | | - "name": "comment.line.yard.ruby" |
2998 | | - }, |
2999 | 3035 | "7": { |
3000 | 3036 | "name": "comment.line.type.yard.ruby" |
3001 | 3037 | }, |
|
3006 | 3042 | "name": "comment.line.punctuation.yard.ruby" |
3007 | 3043 | } |
3008 | 3044 | }, |
3009 | | - "end": "^(?!\\s*#\\3\\s{2,})", |
| 3045 | + "end": "^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)", |
3010 | 3046 | "contentName": "comment.line.string.yard.ruby", |
3011 | 3047 | "name": "comment.line.number-sign.ruby", |
3012 | 3048 | "patterns": [ |
|
0 commit comments