diff options
Diffstat (limited to 'mysql-php')
-rw-r--r-- | mysql-php/code/a1.php | 139 | ||||
-rw-r--r-- | mysql-php/code/a2.php | 78 | ||||
-rw-r--r-- | mysql-php/code/a3.php | 95 | ||||
-rw-r--r-- | mysql-php/index.typ | 63 | ||||
-rw-r--r-- | mysql-php/output/1/1.png | bin | 0 -> 38936 bytes | |||
-rw-r--r-- | mysql-php/output/1/2.png | bin | 0 -> 97622 bytes | |||
-rw-r--r-- | mysql-php/output/2.png | bin | 0 -> 75186 bytes | |||
-rwxr-xr-x | mysql-php/sbld | 2 | ||||
-rw-r--r-- | mysql-php/text/a1.typ | 15 | ||||
-rw-r--r-- | mysql-php/text/a2.typ | 12 | ||||
-rw-r--r-- | mysql-php/tpl.typ | 53 | ||||
-rw-r--r-- | mysql-php/vendor/gr.tmTheme | 566 |
12 files changed, 1023 insertions, 0 deletions
diff --git a/mysql-php/code/a1.php b/mysql-php/code/a1.php new file mode 100644 index 0000000..022b9ee --- /dev/null +++ b/mysql-php/code/a1.php @@ -0,0 +1,139 @@ +<?php +declare(strict_types=1); +error_reporting(E_ALL); +// student: name roll city email date_of_birth +function connect_to_database() { + mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); + if (!($dbh = mysqli_connect('localhost', 'root', ''))) + display_failure('Could not connect to the database: ' . mysqli_connect_error($dbh)); + mysqli_set_charset($dbh, 'utf8mb4'); + if (!mysqli_query($dbh, 'CREATE DATABASE IF NOT EXISTS STUDENTS_DB')) + display_failure('Could not create database: ' . mysqli_error($dbh)); + mysqli_select_db($dbh, 'STUDENTS_DB'); + if (!mysqli_query($dbh, 'CREATE TABLE IF NOT EXISTS STUDENT ( + ROLL INT(20) PRIMARY KEY, + NAME VARCHAR(255), + CITY VARCHAR(255), + EMAIL VARCHAR(255), + DATE_OF_BIRTH DATE + )')) + display_failure('Could not create table: ' . mysqli_error($dbh)); + return $dbh; +} + +function html_prologue($title) { +?><!doctype html> +<meta charset="utf-8"> +<title><?php echo $title; ?></title> +<style> +body { font-family: sans-serif; font-size: 1.3rem; } +h1 { font-size: 2rem; font-weight: 500; } +form { margin: 2em auto; width: 20em; } +form input { float: right; } +form input[type=submit] { float: none; display: block; margin: 0 auto; } +form > * { display: block; padding: 0.5em; } +table, tr, th, td { border-collapse: collapse; border: 1px solid black; } +th, td { padding: 5px; } +</style> +<?php +} + +function display_form() { + html_prologue('Student details'); + ?> +<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> + <h1>Enter student's details</h1> + <label>Name: <input type="text" name="name"></label> + <label>Roll No.: <input type="number" name="roll"></label> + <label>City: <input type="text" name="city"></label> + <label>Email: <input type="email" name="email"></label> + <label>Date of birth: <input type="date" name="date_of_birth"></label> + <input type="submit" value="Submit"> + <a href="<?php echo $_SERVER['PHP_SELF']; ?>?details">Show students' details</a> +</form> +<?php +} + +function display_success() { + html_prologue('Operation successful'); + ?> +<h2>Insertion successful.</h2> +<?php +} + +function display_failure($reason) { + html_prologue('Operation failure'); + ?> +<h2>Operation failed</h2> +<p>Reason: <?php echo $reason; ?></p> +<?php + die(); +} + +function check_post_vars($vardesc) { + $vars = []; + foreach ($vardesc as $name => $desc) { + if (!isset($_POST[$name]) || empty($_POST[$name])) + display_failure('The ' . $desc . ' field can not be empty'); + $vars[$name] = $_POST[$name]; + } + return $vars; +} + +function insert_details($dbh) { + $vars = check_post_vars([ + 'name' => 'Name', + 'email' => 'E-mail address', + 'date_of_birth' => 'Date of birth', + 'city' => 'City', + 'roll' => 'Roll No.' + ]); + $stmt = mysqli_prepare($dbh, 'INSERT INTO STUDENT ( + ROLL, NAME, EMAIL, CITY, DATE_OF_BIRTH + ) VALUES (?,?,?,?,?)'); + mysqli_stmt_execute($stmt, [ + $vars['roll'], $vars['name'], $vars['email'], $vars['city'], + $vars['date_of_birth'] + ]); +} + +function show_table($dbh) { + $result = mysqli_query($dbh, 'SELECT * FROM STUDENT'); + html_prologue('Students\' details'); + ?> +<h2>Students' details</h2> +<p><?php echo mysqli_num_rows($result); ?> record(s) found.</p> +<table> + <tr> + <th>Roll No.</th> + <th>Name</th> + <th>E-mail</th> + <th>City</th> + <th>Date of birth</th> + </tr><?php + while ($row = mysqli_fetch_assoc($result)) { ?> + <tr><td> + <?php echo implode('</td><td>', array_map('htmlspecialchars', [ + $row['ROLL'], $row['NAME'], $row['EMAIL'], $row['CITY'], + $row['DATE_OF_BIRTH'] + ])); ?> + </td></tr> + <?php + } ?> +</table> +<?php +} + +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $dbh = connect_to_database(); + insert_details($dbh); + display_success(); + mysqli_close($dbh); +} elseif (isset($_SERVER['QUERY_STRING']) + && $_SERVER['QUERY_STRING'] === 'details') { + $dbh = connect_to_database(); + show_table($dbh); + mysqli_close($dbh); +} else { + display_form(); +} diff --git a/mysql-php/code/a2.php b/mysql-php/code/a2.php new file mode 100644 index 0000000..c03789f --- /dev/null +++ b/mysql-php/code/a2.php @@ -0,0 +1,78 @@ +<?php +declare(strict_types=1); +error_reporting(E_ALL); +// student: name roll city email date_of_birth +function connect_to_database() { + mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); + if (!($dbh = mysqli_connect('localhost', 'root', ''))) + display_failure('Could not connect to the database: ' . mysqli_connect_error($dbh)); + mysqli_set_charset($dbh, 'utf8mb4'); + if (!mysqli_query($dbh, 'CREATE DATABASE IF NOT EXISTS STUDENTS_DB')) + display_failure('Could not create database: ' . mysqli_error($dbh)); + mysqli_select_db($dbh, 'STUDENTS_DB'); + if (!mysqli_query($dbh, 'CREATE TABLE IF NOT EXISTS STUDENT ( + ROLL INT(20) PRIMARY KEY, + NAME VARCHAR(255), + CITY VARCHAR(255), + EMAIL VARCHAR(255), + DATE_OF_BIRTH DATE + )')) + display_failure('Could not create table: ' . mysqli_error($dbh)); + return $dbh; +} + +function display_failure($reason) { + html_prologue('Operation failure'); + ?> +<h2>Operation failed</h2> +<p>Reason: <?php echo $reason; ?></p> +<?php + die(); +} + +function html_prologue($title) { +?><!doctype html> +<meta charset="utf-8"> +<title><?php echo $title; ?></title> +<style> +body { font-family: sans-serif; font-size: 1.3rem; } +h1 { font-size: 2rem; font-weight: 500; } +table, tr, th, td { border-collapse: collapse; border: 1px solid black; } +th, td { padding: 5px; } +</style> +<?php +} + +function show_table($dbh) { + if (!($result = mysqli_query($dbh, 'SELECT * FROM STUDENT + WHERE YEAR(DATE_OF_BIRTH) BETWEEN 2000 AND 2005'))) + display_failure('Could not perform query: ' . mysqli_error($dbh)); + html_prologue('Students\' details'); + ?> +<h2>Students' details</h2> +<p>The students who were born in years 2000 to 2005, inclusive.</p> +<p><?php echo mysqli_num_rows($result); ?> record(s) found.</p> +<table> + <tr> + <th>Roll No.</th> + <th>Name</th> + <th>E-mail</th> + <th>City</th> + <th>Date of birth</th> + </tr><?php + while ($row = mysqli_fetch_assoc($result)) { ?> + <tr><td> + <?php echo implode('</td><td>', array_map('htmlspecialchars', [ + $row['ROLL'], $row['NAME'], $row['EMAIL'], $row['CITY'], + $row['DATE_OF_BIRTH'] + ])); ?> + </td></tr> + <?php + } ?> +</table> +<?php +} + +$dbh = connect_to_database(); +show_table($dbh); +mysqli_close($dbh); diff --git a/mysql-php/code/a3.php b/mysql-php/code/a3.php new file mode 100644 index 0000000..f029dd8 --- /dev/null +++ b/mysql-php/code/a3.php @@ -0,0 +1,95 @@ +<?php +declare(strict_types=1); +error_reporting(E_ALL); +// student: name roll city email date_of_birth +function connect_to_database() { + mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); + if (!($dbh = mysqli_connect('localhost', 'root', ''))) + display_failure('Could not connect to the database: ' . mysqli_connect_error($dbh)); + mysqli_set_charset($dbh, 'utf8mb4'); + if (!mysqli_query($dbh, 'CREATE DATABASE IF NOT EXISTS STUDENTS_DB')) + display_failure('Could not create database: ' . mysqli_error($dbh)); + mysqli_select_db($dbh, 'STUDENTS_DB'); + if (!mysqli_query($dbh, 'CREATE TABLE IF NOT EXISTS STUDENT ( + ROLL INT(20) PRIMARY KEY, + NAME VARCHAR(255), + CITY VARCHAR(255), + EMAIL VARCHAR(255), + DATE_OF_BIRTH DATE + )')) + display_failure('Could not create table: ' . mysqli_error($dbh)); + return $dbh; +} + +function html_prologue($title) { +?><!doctype html> +<meta charset="utf-8"> +<title><?php echo $title; ?></title> +<style> +body { font-family: sans-serif; font-size: 1.3rem; } +h1 { font-size: 2rem; font-weight: 500; } +h2 { font-size: 1.8rem; font-weight: 500; } +form { margin: 2em auto; width: 20em; } +form > * { padding: 0.5em; } +table, tr, th, td { border-collapse: collapse; border: 1px solid black; } +th, td { padding: 5px; } +</style> +<?php +} + +function display_search_form() { + html_prologue('Student details'); + ?> +<form action="<?php echo $_SERVER['PHP_SELF']; ?>"> + <h2>Enter E-mail address to search for the record of a student</h2> + <label>E-mail: <input type="email" name="email"></label> + <input type="submit" value="Search"> +</form> +<?php +} + +function display_failure($reason) { + html_prologue('Operation failure'); + ?> +<h2>Operation failed</h2> +<p>Reason: <?php echo $reason; ?></p> +<?php + die(); +} + +function search_and_show($dbh, $email) { + $stmt = mysqli_prepare($dbh, 'SELECT * FROM STUDENT WHERE EMAIL = ?'); + $result = mysqli_query($dbh, ); + html_prologue('Students\' details'); + ?> +<h2>Students' details</h2> +<p><?php echo mysqli_num_rows($result); ?> record(s) found.</p> +<table> + <tr> + <th>Roll No.</th> + <th>Name</th> + <th>E-mail</th> + <th>City</th> + <th>Date of birth</th> + </tr><?php + while ($row = mysqli_fetch_assoc($result)) { ?> + <tr><td> + <?php echo implode('</td><td>', array_map('htmlspecialchars', [ + $row['ROLL'], $row['NAME'], $row['EMAIL'], $row['CITY'], + $row['DATE_OF_BIRTH'] + ])); ?> + </td></tr> + <?php + } ?> +</table> +<?php +} + +if (isset($_GET['email']) && !empty($_GET['email'])) { + $dbh = connect_to_database(); + search_and_show($dbh, $_GET['email']); + mysqli_close($dbh); +} else { + html_prologue('Search for a student'); + display_search_form(); +} diff --git a/mysql-php/index.typ b/mysql-php/index.typ new file mode 100644 index 0000000..c231878 --- /dev/null +++ b/mysql-php/index.typ @@ -0,0 +1,63 @@ +#import "tpl.typ": * +#import "@preview/tablex:0.0.6": tablex, vlinex, hlinex, colspanx +#show: body => apply(body) +#let semibold(body) = text(weight: 600, body) +#text(size: 1.3em, align(center)[#semibold[Practical Assignments] \ _for_ \ #semibold[RDBMS Lab] \ _using_ \ #semibold[MySQL and PHP]]) +#set enum(full: true, numbering: (..args) => { + let patterns = ("1.", "(a)") + let pattern = patterns.at(calc.min(args.pos().len(), patterns.len()) - 1) + numbering(pattern, args.pos().last()) +}) + +#set raw(lang: "php") + ++ Create a table `Student` in a MySQL database containing the fields `name`, `roll`, `city`, `email` and `date_of_birth` and insert 5 records into this table and display them using PHP. ++ Write a PHP script to insert the records in the table in Question 2 and display the records in a separate table of all those students who were born in between `01/01/2000` to `31/12/2005`. ++ Design a HTML form to take a valid email from user and search the corresponding student from the database using PHP script and display the details of that student in tabular form. ++ Design a `Login` table to take `username` and `password`. Show all records of the `Student` table for an authorized user. A user if authorized when the username and password exists in the `Login` table of the MySQL database. ++ Design a Login form and check valid username and password to display student details using PHP script. Also write a PHP script allowing to change username and password. ++ Write PHP script to insert, delete and update records in a table. ++ Suppose a table `Food_Details` containing the fields `Food_items` and `Price_per_item`. Design a menu to select different food items and input the quantity ordered by customer. Generate a bill containing Customer name, Food items, quantity, price and Total price. Net price should be the total price plus 15% GST of total price. ++ Create a table as Question 7. Create another table `Customer_details` containing the fields `customer_name`, `total_amount_paid`, `date_of_payment`. Design a menu to select different food items and input the quantity ordered by customer. Generate a bill containing Customer name, Food items, quantity, and Total price. Also insert the record i.e. customer name, total amount paid and date of payment in `Customer_details` table. Net price should be the total price plus 15% GST of total price. ++ Suppose a table `Salary` contained the fields `EmpName`, `BasicPay`, `HRA`, `DA` and `Professional_tax`. Record should exists only for `EmpName` and `BasicPay`. Design a HTML form to take input for HRA percentage, DA percentage, and Professional tax. Now write a PHP script to generate the DA, HRA and Professional tax of every employee and store them into Salary table with respect to every employee. Now display the records. ++ Design a HTML form to take inputs from user and store the records into a table `Employee` using PHP script containing the following fields. + #align(center, tablex( + columns: 2, + auto-lines: false, + hlinex(), + vlinex(), vlinex(), vlinex(), + [*Fields*], [*Form input control*], + hlinex(), + [`Ename`], [textbox], + [`Address`], [textarea], + [`Phno`], [textbox], + [`Salary`], [textbox], + [`Category` \ (out of GEN, SC, ST, OBC)], [radio buttons], + [`Language`], [checkbox], + hlinex(), + )) + (Multiple languages have to be concatenate into a string separated by commas and then store into database like `Bengali, English, Hindi`.) ++ Write a PHP script to display the employee records of the above `Employee` table order by user’s choice field. The field have to be choices through drop down menu containing all fields of the table. ++ Create a table `Sports` in MySQL database containing the fields `Players`, `TestRuns`, `ODIRuns`, `T20IRuns`. Insert and display the record with total individual runs of every player (like `TestRun + ODIRun + T20IRun`) using PHP. ++ Display the record of highest run scorer in Test or T20I or ODI according to user’s choice through a drop down menu for the table in Question 13. Drop down menu contains the fields name `TestRuns`, `ODIRuns`, `T20IRuns`. ++ Design a HTML form to take records from user for the above table `Sports`. Now write PHP script to insert, update and delete records through PHP script. ++ Design a form to take input from user and store into a table containing the fields `name`, `city`, `phno`, `email`, `password`. Write a PHP script to take input and store into the table such that Phno and mail id of every person must be unique. ++ Create a MySQL database table `Employee` with fields `ename`, `eid`, `salary`, `dept` and `dob`. Perform all database operations like select, insert, delete and update through PHP. ++ Create a table `Marks` with the fields `stdname`, `roll`, `CompScMarks`, `PhysicsMarks`, `ChemistryMarks`. Design a form to insert records into database and display records with grade using PHP script. + #align(center, tablex( + columns: (8em, 4em), + auto-lines: false, + align: center + horizon, + colspanx(2)[$ m = ""$average marks of all subjects.], + hlinex(), + vlinex(start: 1), vlinex(start: 1), vlinex(start: 1), + [*Marks*], [*Grade*], + hlinex(), + [$80 <= m <= 100$], [A], + [$60 <= m < 80$], [B], + [$40 <= m < 60$], [C], + [$0 <= m < 40$], [D], + hlinex(), + )) ++ Create MySQL database table `Dept` with field `dno`, `dname` where `dno` is the primary key. Create another table `Employee` with field `eno`, `ename`, `city`, `salary`, `join_date`, `dno` where `eno` is the primary key and `dno` is a foreign key reference to the `Dept` table. Include other constraints like `NOT NULL`, `CHECK` etc. Perform all database operation like select, insert, update, and delete using PHP. (Query may include `group by`, `having`, `order by`, aggregate functions, `like` operator.) + diff --git a/mysql-php/output/1/1.png b/mysql-php/output/1/1.png new file mode 100644 index 0000000..a165e62 --- /dev/null +++ b/mysql-php/output/1/1.png Binary files differdiff --git a/mysql-php/output/1/2.png b/mysql-php/output/1/2.png new file mode 100644 index 0000000..8d99484 --- /dev/null +++ b/mysql-php/output/1/2.png Binary files differdiff --git a/mysql-php/output/2.png b/mysql-php/output/2.png new file mode 100644 index 0000000..b324c1c --- /dev/null +++ b/mysql-php/output/2.png Binary files differdiff --git a/mysql-php/sbld b/mysql-php/sbld new file mode 100755 index 0000000..33a51ed --- /dev/null +++ b/mysql-php/sbld @@ -0,0 +1,2 @@ +#!/bin/sh +typst ${2:-c} --root $PWD text/a$1.typ docs/s$1.pdf diff --git a/mysql-php/text/a1.typ b/mysql-php/text/a1.typ new file mode 100644 index 0000000..efdc981 --- /dev/null +++ b/mysql-php/text/a1.typ @@ -0,0 +1,15 @@ +#import "/tpl.typ": * +#show: A => apply(A) +#set raw(lang: "php") +#set par(leading: 0.725em) + +#assignment(1)[ + Create a table `Student` in a MySQL database containing the fields `name`, `roll`, `city`, `email` and `date_of_birth` and insert 5 records into this table and display them using PHP. +] + +#scos(1)[ + === Form page + #align(center, image("/output/1/1.png", width: 60%)) + === Display record + #image("/output/1/2.png", width: 100%) +] diff --git a/mysql-php/text/a2.typ b/mysql-php/text/a2.typ new file mode 100644 index 0000000..989f30f --- /dev/null +++ b/mysql-php/text/a2.typ @@ -0,0 +1,12 @@ +#import "/tpl.typ": * +#show: A => apply(A) +#set raw(lang: "php") +#set par(leading: 0.65em) + +#assignment(2)[ + Write a PHP script to insert the records in the table in Assignment 1 and display the records in a separate table of all those students who were born in between `01/01/2000` to `31/12/2005`. +] + +#scos(2)[ + #image("/output/2.png", width: 100%) +] diff --git a/mysql-php/tpl.typ b/mysql-php/tpl.typ new file mode 100644 index 0000000..1179925 --- /dev/null +++ b/mysql-php/tpl.typ @@ -0,0 +1,53 @@ +#import "@preview/codelst:1.0.0": sourcefile +#let hlfile(filename) = sourcefile(read(filename), file: filename) +#let apply(body) = { + let body-font-settings = (font: "Nunito Sans 10pt", size: 12pt, stretch: 75%) +// let body-font-settings = (font: "Hanken Grotesk", size: 12pt, stretch: 75%) + let page-margin = (left: 0.75in, right: 0.25in, top: 0.5in, bottom: 0.25in) + let margin = (left: 0.75in, right: 0.25in, top: 2em, bottom: 2em) + let page-frame-thickness = 1.5pt + set page( + margin: (..page-margin, bottom: margin.bottom + 2em), + numbering: "1", + background: align(top + start, pad(..margin, rect(width: 100%, height: 100%, stroke: page-frame-thickness + gray))), + footer: locate(loc => align(center, move(dy: -margin.bottom + 1em, text(..body-font-settings, size: 9pt, counter(page).display(loc.page-numbering()))))) + ) + show: block.with(breakable: true, width: 100%, inset: page-frame-thickness + 1em) + + set text(..body-font-settings) + + let code-color = rgb("#f4f4f4") +// show raw: set text(font: "CommitMono", size: 1.1em) +// show raw: set text(font: "Source Code Pro", size: 1.1em) + show raw: set text(font: "Iosevka Fixed", size: 10pt) + show raw.where(block: false): box.with( + fill: code-color, + inset: (x: 3pt, y: 0pt), + outset: (y: 3pt), + radius: 2pt, + ) + show raw.where(block: true): block.with( + fill: code-color, + inset: 10pt, + radius: 4pt, + width: 100%, + ) + show raw.where(block: true): it => align(left, it) + set raw(theme: "vendor/gr.tmTheme") + set par(leading: 0.6em) + body +} + +#let assignment(number, description) = align(center, [ += #text(weight: 600, [Assignment #number]) +== #text(weight: 500, [Program description:]) #text(weight: 400, description) +]) +#let objective(body) = align(center, [*Objective*: #body]) +#let oset(kind) = block(spacing: 0.6em, [===== #h(1em) #kind]) + +#let scos(n, obody) = { + [=== Source Code] + hlfile("/code/a" + str(n) + ".php") + [=== Output] + obody +} diff --git a/mysql-php/vendor/gr.tmTheme b/mysql-php/vendor/gr.tmTheme new file mode 100644 index 0000000..c4ab8f1 --- /dev/null +++ b/mysql-php/vendor/gr.tmTheme @@ -0,0 +1,566 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>author</key> + <string>Template: Chris Kempson, Scheme: Alexandre Gavioli (https://github.com/Alexx2/)</string> + <key>name</key> + <string>Base16 Grayscale Light</string> + <key>semanticClass</key> + <string>theme.base16.grayscale-light</string> + <key>colorSpaceName</key> + <string>sRGB</string> + <key>gutterSettings</key> + <dict> + <key>background</key> + <string>#e3e3e3</string> + <key>divider</key> + <string>#e3e3e3</string> + <key>foreground</key> + <string>#ababab</string> + <key>selectionBackground</key> + <string>#b9b9b9</string> + <key>selectionForeground</key> + <string>#525252</string> + </dict> + <key>settings</key> + <array> + <dict> + <key>settings</key> + <dict> + <key>background</key> + <string>#f7f7f7</string> + <key>caret</key> + <string>#464646</string> + <key>foreground</key> + <string>#464646</string> + <key>invisibles</key> + <string>#ababab</string> + <key>lineHighlight</key> + <string>#ababab55</string> + <key>selection</key> + <string>#b9b9b9</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Text</string> + <key>scope</key> + <string>variable.parameter.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#222222</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comments</string> + <key>scope</key> + <string>comment, punctuation.definition.comment</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#777777</string> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation</string> + <key>scope</key> + <string>punctuation.definition.string, punctuation.definition.variable, punctuation.definition.string, punctuation.definition.parameters, punctuation.definition.string, punctuation.definition.array</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#111111</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Delimiters</string> + <key>scope</key> + <string>none</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#222222</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Operators</string> + <key>scope</key> + <string>keyword.operator</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#222222</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Keywords</string> + <key>scope</key> + <string>keyword</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#333333</string> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Variables</string> + <key>scope</key> + <string>variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#555555</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Functions</string> + <key>scope</key> + <string>entity.name.function, meta.require, support.function.any-method, variable.function, variable.annotation, support.macro</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#444444</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Labels</string> + <key>scope</key> + <string>entity.name.label</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#5e5e5e</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes</string> + <key>scope</key> + <string>support.class, entity.name.class, entity.name.type.class</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#666666</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes</string> + <key>scope</key> + <string>meta.class</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#101010</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Methods</string> + <key>scope</key> + <string>keyword.other.special-method</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#444444</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Storage</string> + <key>scope</key> + <string>storage</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#444444</string> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Support</string> + <key>scope</key> + <string>support.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#868686</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Strings, Inherited Class</string> + <key>scope</key> + <string>string, constant.other.symbol, entity.other.inherited-class</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#333333</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Integers</string> + <key>scope</key> + <string>constant.numeric</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#000000</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Floats</string> + <key>scope</key> + <string>none</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#000000</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Boolean</string> + <key>scope</key> + <string>none</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#222222</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Constants</string> + <key>scope</key> + <string>constant</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#000000</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Tags</string> + <key>scope</key> + <string>entity.name.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7c7c7c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Attributes</string> + <key>scope</key> + <string>entity.other.attribute-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#999999</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Attribute IDs</string> + <key>scope</key> + <string>entity.other.attribute-name.id, punctuation.definition.entity</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#686868</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Selector</string> + <key>scope</key> + <string>meta.selector</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#747474</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Values</string> + <key>scope</key> + <string>none</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#999999</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Headings</string> + <key>scope</key> + <string>markup.heading punctuation.definition.heading, entity.name.section</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string></string> + <key>foreground</key> + <string>#686868</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Units</string> + <key>scope</key> + <string>keyword.other.unit</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#999999</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Bold</string> + <key>scope</key> + <string>markup.bold, punctuation.definition.bold</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + <key>foreground</key> + <string>#a0a0a0</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Italic</string> + <key>scope</key> + <string>markup.italic, punctuation.definition.italic</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>italic</string> + <key>foreground</key> + <string>#747474</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Code</string> + <key>scope</key> + <string>markup.raw.inline</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8e8e8e</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Link Text</string> + <key>scope</key> + <string>string.other.link, punctuation.definition.string.end.markdown, punctuation.definition.string.begin.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7c7c7c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Link Url</string> + <key>scope</key> + <string>meta.link</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#999999</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lists</string> + <key>scope</key> + <string>markup.list</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7c7c7c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Quotes</string> + <key>scope</key> + <string>markup.quote</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#999999</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Separator</string> + <key>scope</key> + <string>meta.separator</string> + <key>settings</key> + <dict> + <key>background</key> + <string>#b9b9b9</string> + <key>foreground</key> + <string>#464646</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Inserted</string> + <key>scope</key> + <string>markup.inserted</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#8e8e8e</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Deleted</string> + <key>scope</key> + <string>markup.deleted</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#7c7c7c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Changed</string> + <key>scope</key> + <string>markup.changed</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#747474</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Colors</string> + <key>scope</key> + <string>constant.other.color</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#868686</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regular Expressions</string> + <key>scope</key> + <string>string.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#868686</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Escape Characters</string> + <key>scope</key> + <string>constant.character.escape</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#868686</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Embedded</string> + <key>scope</key> + <string>punctuation.section.embedded, variable.interpolation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#747474</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Illegal</string> + <key>scope</key> + <string>invalid.illegal</string> + <key>settings</key> + <dict> + <key>background</key> + <string>#7c7c7c</string> + <key>foreground</key> + <string>#101010</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Broken</string> + <key>scope</key> + <string>invalid.broken</string> + <key>settings</key> + <dict> + <key>background</key> + <string>#999999</string> + <key>foreground</key> + <string>#f7f7f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Deprecated</string> + <key>scope</key> + <string>invalid.deprecated</string> + <key>settings</key> + <dict> + <key>background</key> + <string>#5e5e5e</string> + <key>foreground</key> + <string>#101010</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Unimplemented</string> + <key>scope</key> + <string>invalid.unimplemented</string> + <key>settings</key> + <dict> + <key>background</key> + <string>#ababab</string> + <key>foreground</key> + <string>#101010</string> + </dict> + </dict> + </array> + <key>uuid</key> + <string>uuid</string> +</dict> +</plist> |