ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

JSX

allanhortle 所有

JSX 文件的语言定义。

标签 语言语法

详细信息

  • 3.0.2
    3.0.1
    2.0.2
  • github.com
  • github.com
  • 7 年前
  • 2 小时前
  • 10 年前

安装

  • 总计 228K
  • Win 87K
  • Mac 100K
  • Linux 41K
8 月 6 日 8 月 5 日 8 月 4 日 8 月 3 日 8 月 2 日 8 月 1 日 7 月 31 日 7 月 30 日 7 月 29 日 7 月 28 日 7 月 27 日 7 月 26 日 7 月 25 日 7 月 24 日 7 月 23 日 7 月 22 日 7 月 21 日 7 月 20 日 7 月 19 日 7 月 18 日 7 月 17 日 7 月 16 日 7 月 15 日 7 月 14 日 7 月 13 日 7 月 12 日 7 月 11 日 7 月 10 日 7 月 9 日 7 月 8 日 7 月 7 日 7 月 6 日 7 月 5 日 7 月 4 日 7 月 3 日 7 月 2 日 7 月 1 日 6 月 30 日 6 月 29 日 6 月 28 日 6 月 27 日 6 月 26 日 6 月 25 日 6 月 24 日 6 月 23 日 6 月 22 日
Windows 5 3 3 3 1 3 1 0 5 3 4 0 2 0 4 3 1 3 2 3 4 2 4 1 0 1 3 3 2 4 1 4 1 5 3 2 2 1 1 3 0 4 5 1 0 0
Mac 2 1 0 2 2 0 0 2 3 2 3 1 3 2 2 2 2 1 0 0 2 0 1 2 3 1 2 2 2 2 3 1 0 2 1 1 0 0 0 0 1 2 3 1 1 2
Linux 2 1 1 0 2 1 3 2 0 1 1 1 0 2 0 1 0 0 2 1 2 1 1 1 0 1 1 5 3 2 1 0 1 1 1 0 1 3 0 1 1 1 1 1 1 0

README

源代码
raw.githubusercontent.com

JSX-SublimeText

JSX 文件的语言定义。

Emmet 支持

您需要在 JSX 文件中添加一个键盘快捷键以完成标签。

打开 首选项 > 键盘绑定 - 用户 并添加此条目

{
    "keys": ["tab"], "command": "expand_abbreviation_by_tab", "context": [
        {
            "operand": "source.js.jsx",
            "operator": "equal",
            "match_all": true,
            "key": "selector"
        },
        {
            "key": "selection_empty",
            "operator": "equal",
            "operand": true,
            "match_all": true
        }
    ]
},
{
    "keys": ["tab"], "command": "next_field", "context": [
        {
            "key": "has_next_field",
            "operator": "equal",
            "operand": true
        }
    ]
}

命名空间

https://text.sublime.net.cn/docs/3/scope_naming.html

JSX-SublimeText 选择有一个瘦命名空间表面面积,因为过于命名命名空间会增加特定性和使调色板变得更加困难。

有 5 个主要区域:关键字/支持、实体、常量、字符串和注释。

关键字/支持

JSX-SublimeText 选择将所有 JavaScript 保留字放在一个命名空间中,以区分 JavaScript 语言和作者的代码。

所有内置对象和函数都放在 support.class.jssupport.function.js 下。

实体

实体范围通常分配给代码和标记中数据结构、类型和其他独特标识的结构的名称。

JSX-SublimeText 只做两个实体分配。第一个是实际的 JSX/XML 部分(entity.name.tag),第二个是 flow/ts 类型声明(entity.name.type)。

问题 & 问题

具体/一般语法高亮之间的界限似乎是主观的。由于我个人的偏好在 JSX-SublimeText 中使用较少的高亮,因此它比其他 JS/JSX 语法简单。如果您发现语法的一部分破坏了您的调色板或您不喜欢选择,请随时打开问题。我很乐意听取我错了或证明有更好的方法。

参考

// Keywords
keyword.control.js // js reserved words
support.class.js // built-in objects
support.function.js // built-in functions

// Entities
entity.name.tag.jsx // JSX
entity.name.type // types

// Constants
constant.character.escape // escaped characters
constant.language.js // true|false|null|Infinity|NaN|undefined
constant.numeric.js // numbers
constant.character.entity.html // html character entities

// Strings
string.quoted.js
string.regexp.js

// Comments
comment.block.js // block.comments
comment.block.jsx // jsx comments
comment.line.js // line comments