Только первые два фрагмента кода в моем snippets.cson работают в Atom - PullRequest
1 голос
/ 14 июня 2019

Я хочу использовать свои собственные фрагменты кода в Atom, но после нескольких часов попыток я все еще не могу использовать более двух первых из них и не могу найти ошибку.

Когда я искалРешение Я нашел много, много тем, но ошибка в каждой из них заключалась в повторном использовании области действия источника, но это не моя проблема.Я фактически попробовал почти все, я сделал много изменений в своем синтаксисе, но ничего не помогло.

".text.html.basic, .text.html.php":
    "Include jQuery":
        "prefix": "jquery"
        "body": "<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>"
    "Basic HTML structure":
        "prefix": "start"
        "body": '''
            <!DOCTYPE html>
            <html lang="cs">
              <head>
                <meta charset="utf-8">
                <meta name="description" content="$1">
                <meta name="author" content="MagicDev">
                <meta name="keywords" content="$2">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">

                <link rel="stylesheet" type="text/css" href="style.css">
                <script src="script.js"></script>

                <title>$3</title>

              </head>
              <body>
                $4
              </body>
            </html>
        '''
        "DB Connection":
            "prefix": "connection"
            "body": '''
                <?php
                $servername = "$1";
                $username = "$2";
                $password = "$3";
                $dbname = "$4";

                $conn = new mysqli($servername, $username, $password, $dbname);
                if ($conn->connect_error) {
                    die("Connection failed: " . $conn->connect_error);
                }
                mysqli_query($conn, "set names utf8");
                 ?>$5
            '''
        "DB Close Connection":
            "prefix": "disconnection"
            "body": "$conn->close();$1"
        "DB Insert":
            "prefix": "insert"
            "body": '''
                $sql = $conn->prepare("INSERT INTO ${1:"table"} (${2:"attributes"})
                        VALUES (${3:"?,?,?"})");

                        $sql->bind_param("${4:"ssi"}", ${5:"variablesToInsert"});

                        $sql->execute();

                        $sql->close();$6
            '''
        "Remove tags":
            "prefix": "removeTags"
            "body": "strip_tags($1)"

Может кто-нибудь спасти меня, пожалуйста?Что я пропускаю?

1 Ответ

0 голосов
/ 14 июня 2019

Как и CoffeeScript, CSON (объектная нотация CoffeeScript) чувствительна к отступам.Первые два фрагмента в вашем примере имеют отступы, следующие на один уровень слишком глубокие.

Если вы не знакомы с языком (и форматами) на основе отступов, я рекомендую использовать linter-coffeelint.Он отмечает все виды синтаксических ошибок.

Пример:

enter image description here

Если вы чувствуете себя как дома, используяJSON, Atom также поддерживает фрагменты, сохраненные в этом формате.

Наконец, вот ваши фрагменты с правильным отступом:

".text.html.basic, .text.html.php":
  "Include jQuery":
    "prefix": "jquery"
    "body": "<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>"
  "Basic HTML structure":
    "prefix": "start"
    "body": '''
        <!DOCTYPE html>
        <html lang="cs">
          <head>
            <meta charset="utf-8">
            <meta name="description" content="$1">
            <meta name="author" content="MagicDev">
            <meta name="keywords" content="$2">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">

            <link rel="stylesheet" type="text/css" href="style.css">
            <script src="script.js"></script>

            <title>$3</title>

          </head>
          <body>
            $4
          </body>
        </html>
    '''
  "DB Connection":
    "prefix": "connection"
    "body": '''
        <?php
        $servername = "$1";
        $username = "$2";
        $password = "$3";
        $dbname = "$4";

        $conn = new mysqli($servername, $username, $password, $dbname);
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }
        mysqli_query($conn, "set names utf8");
         ?>$5
    '''
  "DB Close Connection":
    "prefix": "disconnection"
    "body": "$conn->close();$1"
  "DB Insert":
    "prefix": "insert"
    "body": '''
        $sql = $conn->prepare("INSERT INTO ${1:"table"} (${2:"attributes"})
                VALUES (${3:"?,?,?"})");

                $sql->bind_param("${4:"ssi"}", ${5:"variablesToInsert"});

                $sql->execute();

                $sql->close();$6
    '''
  "Remove tags":
    "prefix": "removeTags"
    "body": "strip_tags($1)"

...