Update reference docs with most recent version of brodocs (#4600)

* Update 1.7 apidocs with new brodocs

* Update 1.7 resource reference docs with new brodocs

* Update 1.7 kubectl reference docs with new brodocs
This commit is contained in:
Phillip Wittrock
2017-08-04 14:30:56 -07:00
committed by Andrew Chen
parent 4b004cf717
commit 217c86642f
387 changed files with 10024 additions and 8309 deletions
+1 -1
View File
@@ -153,7 +153,7 @@ function generateNestedNav(parent, nest) {
function generateNavJson(data) {
var navJson = JSON.stringify(data);
navScript = `(function(){navData = ${navJson}})();`;
navScript = `(function(){navData = ${navJson};})();`;
fs.writeFile('./navData.js', navScript, function(err) {
if (err) {
return console.log(err);
+138 -138
View File
@@ -29,47 +29,47 @@ inspect them.</p>
<blockquote class="code-block example">
<p> Start a single instance of nginx.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> nginx <span class="hljs-comment">--image=nginx</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx
</code></pre>
<blockquote class="code-block example">
<p> Start a single instance of hazelcast and let the container expose port 5701 .</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> hazelcast <span class="hljs-comment">--image=hazelcast --port=5701</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> hazelcast <span class="hljs-attribute">--image</span>=hazelcast <span class="hljs-attribute">--port</span>=5701
</code></pre>
<blockquote class="code-block example">
<p> Start a single instance of hazelcast and set environment variables &quot;DNS_DOMAIN=cluster&quot; and &quot;POD_NAMESPACE=default&quot; in the container.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl run hazelcast --<span class="hljs-keyword">image</span>=hazelcast --<span class="hljs-keyword">env</span>=<span class="hljs-string">"DNS_DOMAIN=cluster"</span> --<span class="hljs-keyword">env</span>=<span class="hljs-string">"POD_NAMESPACE=default"</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> hazelcast <span class="hljs-attribute">--image</span>=hazelcast <span class="hljs-attribute">--env</span>=<span class="hljs-string">"DNS_DOMAIN=cluster"</span> <span class="hljs-attribute">--env</span>=<span class="hljs-string">"POD_NAMESPACE=default"</span>
</code></pre>
<blockquote class="code-block example">
<p> Start a replicated instance of nginx.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> nginx <span class="hljs-comment">--image=nginx --replicas=5</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx <span class="hljs-attribute">--replicas</span>=5
</code></pre>
<blockquote class="code-block example">
<p> Dry run. Print the corresponding API objects without creating them.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> nginx --<span class="hljs-built_in">image</span>=nginx --dry-<span class="hljs-built_in">run</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx --dry-run
</code></pre>
<blockquote class="code-block example">
<p> Start a single instance of nginx, but overload the spec of the deployment with a partial set of values parsed from JSON.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">run </span><span class="hljs-string">nginx </span><span class="hljs-built_in">--image=nginx</span> <span class="hljs-built_in">--overrides='{</span> <span class="hljs-string">"apiVersion"</span>: <span class="hljs-string">"v1"</span>, <span class="hljs-string">"spec"</span>: { ... } }<span class="hljs-string">'</span>
<pre class="code-block example"><code class="lang-shell">kubectl run nginx <span class="hljs-params">--image=nginx</span> <span class="hljs-params">--overrides=</span>'{ <span class="hljs-string">"apiVersion"</span>: <span class="hljs-string">"v1"</span>, <span class="hljs-string">"spec"</span>: { <span class="hljs-string">...</span> } }'
</code></pre>
<blockquote class="code-block example">
<p> Start a pod of busybox and keep it in the foreground, don&#39;t restart it if it exits.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> -i -t busybox <span class="hljs-comment">--image=busybox --restart=Never</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> -i -t busybox <span class="hljs-attribute">--image</span>=busybox <span class="hljs-attribute">--restart</span>=Never
</code></pre>
<blockquote class="code-block example">
<p> Start the nginx container using the default command, but use custom arguments (arg1 .. argN) for that command.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl run nginx --image=nginx -- <span class="hljs-tag">&lt;<span class="hljs-name">arg1</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">arg2</span>&gt;</span> ... <span class="hljs-tag">&lt;<span class="hljs-name">argN</span>&gt;</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx -- &lt;arg1&gt; &lt;arg2&gt; <span class="hljs-built_in">..</span>. &lt;argN&gt;
</code></pre>
<blockquote class="code-block example">
<p> Start the nginx container using a different command and custom arguments.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl run nginx --image=nginx --<span class="hljs-keyword">command</span> -- <span class="hljs-symbol">&lt;cmd&gt;</span> <span class="hljs-symbol">&lt;arg1&gt;</span> ... <span class="hljs-symbol">&lt;argN&gt;</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx --command -- &lt;cmd&gt; &lt;arg1&gt; <span class="hljs-built_in">..</span>. &lt;argN&gt;
</code></pre>
<blockquote class="code-block example">
<p> Start the perl container to compute π to 2000 places and print it out.</p>
@@ -319,37 +319,37 @@ inspect them.</p>
<blockquote class="code-block example">
<p> Create a service for a replicated nginx, which serves on port 80 and connects to the containers on port 8000.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">expose</span> <span class="hljs-comment">rc</span> <span class="hljs-comment">nginx</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">port=80</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">target</span><span class="hljs-literal">-</span><span class="hljs-comment">port=8000</span>
<pre class="code-block example"><code class="lang-shell">kubectl expose rc nginx <span class="hljs-attribute">--port</span>=80 <span class="hljs-attribute">--target-port</span>=8000
</code></pre>
<blockquote class="code-block example">
<p> Create a service for a replication controller identified by type and name specified in &quot;nginx-controller.yaml&quot;, which serves on port 80 and connects to the containers on port 8000.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">expose</span> <span class="hljs-literal">-</span><span class="hljs-comment">f</span> <span class="hljs-comment">nginx</span><span class="hljs-literal">-</span><span class="hljs-comment">controller</span><span class="hljs-string">.</span><span class="hljs-comment">yaml</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">port=80</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">target</span><span class="hljs-literal">-</span><span class="hljs-comment">port=8000</span>
<pre class="code-block example"><code class="lang-shell">kubectl expose -f nginx-controller.yaml <span class="hljs-attribute">--port</span>=80 <span class="hljs-attribute">--target-port</span>=8000
</code></pre>
<blockquote class="code-block example">
<p> Create a service for a pod valid-pod, which serves on port 444 with the name &quot;frontend&quot;</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">expose</span> <span class="hljs-comment">pod</span> <span class="hljs-comment">valid</span><span class="hljs-literal">-</span><span class="hljs-comment">pod</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">port=444</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">name=frontend</span>
<pre class="code-block example"><code class="lang-shell">kubectl expose pod valid-pod <span class="hljs-attribute">--port</span>=444 <span class="hljs-attribute">--name</span>=frontend
</code></pre>
<blockquote class="code-block example">
<p> Create a second service based on the above service, exposing the container port 8443 as port 443 with the name &quot;nginx-https&quot;</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">expose</span> <span class="hljs-comment">service</span> <span class="hljs-comment">nginx</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">port=443</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">target</span><span class="hljs-literal">-</span><span class="hljs-comment">port=8443</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">name=nginx</span><span class="hljs-literal">-</span><span class="hljs-comment">https</span>
<pre class="code-block example"><code class="lang-shell">kubectl expose<span class="hljs-built_in"> service </span>nginx <span class="hljs-attribute">--port</span>=443 <span class="hljs-attribute">--target-port</span>=8443 <span class="hljs-attribute">--name</span>=nginx-https
</code></pre>
<blockquote class="code-block example">
<p> Create a service for a replicated streaming application on port 4100 balancing UDP traffic and named &#39;video-stream&#39;.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">expose</span> <span class="hljs-comment">rc</span> <span class="hljs-comment">streamer</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">port=4100</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">protocol=udp</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">name=video</span><span class="hljs-literal">-</span><span class="hljs-comment">stream</span>
<pre class="code-block example"><code class="lang-shell">kubectl expose rc streamer <span class="hljs-attribute">--port</span>=4100 <span class="hljs-attribute">--protocol</span>=udp <span class="hljs-attribute">--name</span>=video-stream
</code></pre>
<blockquote class="code-block example">
<p> Create a service for a replicated nginx using replica set, which serves on port 80 and connects to the containers on port 8000.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">expose</span> <span class="hljs-comment">rs</span> <span class="hljs-comment">nginx</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">port=80</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">target</span><span class="hljs-literal">-</span><span class="hljs-comment">port=8000</span>
<pre class="code-block example"><code class="lang-shell">kubectl expose rs nginx <span class="hljs-attribute">--port</span>=80 <span class="hljs-attribute">--target-port</span>=8000
</code></pre>
<blockquote class="code-block example">
<p> Create a service for an nginx deployment, which serves on port 80 and connects to the containers on port 8000.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">expose</span> <span class="hljs-comment">deployment</span> <span class="hljs-comment">nginx</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">port=80</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">target</span><span class="hljs-literal">-</span><span class="hljs-comment">port=8000</span>
<pre class="code-block example"><code class="lang-shell">kubectl expose deployment nginx <span class="hljs-attribute">--port</span>=80 <span class="hljs-attribute">--target-port</span>=8000
</code></pre>
<p>Expose a resource as a new Kubernetes service. </p>
<p>Looks up a deployment, service, replica set, replication controller or pod by name and uses the selector for that resource as the selector for a new service on the specified port. A deployment or replica set will be exposed as a service only if its selector is convertible to a selector that service supports, i.e. when the selector contains only the matchLabels component. Note that if no port is specified via --port and the exposed resource has multiple ports, all will be re-used by the new service. Also if no labels are specified, the new service will re-use the labels from the resource it exposes. </p>
@@ -560,7 +560,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Update pod &#39;foo&#39; only if the resource is unchanged from version 1.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl annotate pods foo description='<span class="hljs-keyword">my</span> frontend <span class="hljs-built_in">running</span> nginx' <span class="hljs-comment">--resource-version=1</span>
<pre class="code-block example"><code class="lang-shell">kubectl annotate pods foo <span class="hljs-attribute">description</span>=<span class="hljs-string">'my frontend running nginx'</span> <span class="hljs-attribute">--resource-version</span>=1
</code></pre>
<blockquote class="code-block example">
<p> Update pod &#39;foo&#39; by removing an annotation named &#39;description&#39; if it exists. # Does not require the --overwrite flag.</p>
@@ -743,12 +743,12 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Auto scale a deployment &quot;foo&quot;, with the number of pods between 2 and 10, target CPU utilization specified so a default autoscaling policy will be used:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl autoscale deployment foo --<span class="hljs-built_in">min</span>=<span class="hljs-number">2</span> --<span class="hljs-built_in">max</span>=<span class="hljs-number">10</span>
<pre class="code-block example"><code class="lang-shell">kubectl autoscale deployment foo <span class="hljs-attribute">--min</span>=2 <span class="hljs-attribute">--max</span>=10
</code></pre>
<blockquote class="code-block example">
<p> Auto scale a replication controller &quot;foo&quot;, with the number of pods between 1 and 5, target CPU utilization at 80%:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">autoscale</span> <span class="hljs-comment">rc</span> <span class="hljs-comment">foo</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">max=5</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">cpu</span><span class="hljs-literal">-</span><span class="hljs-comment">percent=80</span>
<pre class="code-block example"><code class="lang-shell">kubectl autoscale rc foo <span class="hljs-attribute">--max</span>=5 <span class="hljs-attribute">--cpu-percent</span>=80
</code></pre>
<p>Creates an autoscaler that automatically chooses and sets the number of pods that run in a kubernetes cluster. </p>
<p>Looks up a Deployment, ReplicaSet, or ReplicationController by name and creates an autoscaler that uses the given resource as a reference. An autoscaler can automatically increase or decrease number of pods deployed within the system as needed.</p>
@@ -886,7 +886,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Convert &#39;pod.yaml&#39; to latest version and print to stdout.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl convert <span class="hljs-_">-f</span> pod.yaml
<pre class="code-block example"><code class="lang-shell"><span class="hljs-selector-tag">kubectl</span> <span class="hljs-selector-tag">convert</span> <span class="hljs-selector-tag">-f</span> <span class="hljs-selector-tag">pod</span><span class="hljs-selector-class">.yaml</span>
</code></pre>
<blockquote class="code-block example">
<p> Convert the live state of the resource specified by &#39;pod.yaml&#39; to the latest version # and print to stdout in json format.</p>
@@ -896,7 +896,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Convert all files under current directory to latest version and create them all.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl convert <span class="hljs-_">-f</span> . | kubectl create <span class="hljs-_">-f</span> -
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">convert</span> -f . | kubectl <span class="hljs-built_in">create</span> -f -
</code></pre>
<p>Convert config files between different API versions. Both YAML and JSON formats are accepted. </p>
<p>The command takes filename, directory, or URL as input, and convert it into format of version specified by --output-version flag. If target version is not specified or not supported, convert to latest version. </p>
@@ -1005,7 +1005,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a pod using the data in pod.json.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create <span class="hljs-_">-f</span> ./pod.json
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">create</span> -f ./pod.json
</code></pre>
<blockquote class="code-block example">
<p> Create a pod based on the JSON passed into stdin.</p>
@@ -1015,7 +1015,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Edit the data in docker-registry.yaml in JSON using the v1 API format then create the resource using the edited data.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">create</span> -f docker-registry.yaml --<span class="hljs-keyword">edit</span> --<span class="hljs-keyword">output</span>-version=v1 -o json
<pre class="code-block example"><code class="lang-shell">kubectl create -f docker-registry.yaml --<span class="hljs-builtin-name">edit</span> <span class="hljs-attribute">--output-version</span>=v1 -o json
</code></pre>
<p>Create a resource by filename or stdin. </p>
<p>JSON and YAML formats are accepted.</p>
@@ -1153,27 +1153,27 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a ClusterRole named &quot;pod-reader&quot; that allows user to perform &quot;get&quot;, &quot;watch&quot; and &quot;list&quot; on pods</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrole pod-reader --<span class="hljs-keyword">verb</span>=<span class="hljs-built_in">get</span>,<span class="hljs-keyword">list</span>,watch --resource=pods
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrole pod-reader <span class="hljs-attribute">--verb</span>=get,list,watch <span class="hljs-attribute">--resource</span>=pods
</code></pre>
<blockquote class="code-block example">
<p> Create a ClusterRole named &quot;pod-reader&quot; with ResourceName specified</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">create</span> <span class="hljs-comment">clusterrole</span> <span class="hljs-comment">pod</span><span class="hljs-literal">-</span><span class="hljs-comment">reader</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">verb=get</span><span class="hljs-string">,</span><span class="hljs-comment">list</span><span class="hljs-string">,</span><span class="hljs-comment">watch</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">resource=pods</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">resource</span><span class="hljs-literal">-</span><span class="hljs-comment">name=readablepod</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">resource</span><span class="hljs-literal">-</span><span class="hljs-comment">name=anotherpod</span>
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrole pod-reader <span class="hljs-attribute">--verb</span>=get,list,watch <span class="hljs-attribute">--resource</span>=pods <span class="hljs-attribute">--resource-name</span>=readablepod <span class="hljs-attribute">--resource-name</span>=anotherpod
</code></pre>
<blockquote class="code-block example">
<p> Create a ClusterRole named &quot;foo&quot; with API Group specified</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrole foo --<span class="hljs-keyword">verb</span>=<span class="hljs-built_in">get</span>,<span class="hljs-keyword">list</span>,watch --resource=rs.extensions
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrole foo <span class="hljs-attribute">--verb</span>=get,list,watch <span class="hljs-attribute">--resource</span>=rs.extensions
</code></pre>
<blockquote class="code-block example">
<p> Create a ClusterRole named &quot;foo&quot; with SubResource specified</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrole foo --<span class="hljs-keyword">verb</span>=<span class="hljs-built_in">get</span>,<span class="hljs-keyword">list</span>,watch --resource=pods,pods/status
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrole foo <span class="hljs-attribute">--verb</span>=get,list,watch <span class="hljs-attribute">--resource</span>=pods,pods/status
</code></pre>
<blockquote class="code-block example">
<p> Create a ClusterRole name &quot;foo&quot; with NonResourceURL specified</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">create</span> clusterrole <span class="hljs-string">"foo"</span> <span class="hljs-comment">--verb=get --non-resource-url=/logs/*</span>
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrole <span class="hljs-string">"foo"</span> <span class="hljs-attribute">--verb</span>=get <span class="hljs-attribute">--non-resource-url</span>=/logs/*
</code></pre>
<p>Create a ClusterRole.</p>
<h3 id="usage">Usage</h3>
@@ -1292,7 +1292,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a ClusterRoleBinding for user1, user2, and group1 using the cluster-admin ClusterRole</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">create</span> clusterrolebinding <span class="hljs-keyword">cluster</span>-admin --clusterrole=<span class="hljs-keyword">cluster</span>-admin --<span class="hljs-keyword">user</span>=user1 --<span class="hljs-keyword">user</span>=user2 --<span class="hljs-keyword">group</span>=group1
<pre class="code-block example"><code class="lang-shell">kubectl create clusterrolebinding cluster-admin <span class="hljs-attribute">--clusterrole</span>=cluster-admin <span class="hljs-attribute">--user</span>=user1 <span class="hljs-attribute">--user</span>=user2 <span class="hljs-attribute">--group</span>=group1
</code></pre>
<p>Create a ClusterRoleBinding for a particular ClusterRole.</p>
<h3 id="usage">Usage</h3>
@@ -1427,7 +1427,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a new configmap named my-config with key1=config1 and key2=config2</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">create</span> configmap my-<span class="hljs-built_in">config</span> <span class="hljs-comment">--from-literal=key1=config1 --from-literal=key2=config2</span>
<pre class="code-block example"><code class="lang-shell">kubectl create configmap my-config <span class="hljs-attribute">--from-literal</span>=key1=config1 <span class="hljs-attribute">--from-literal</span>=key2=config2
</code></pre>
<blockquote class="code-block example">
<p> Create a new configmap named my-config from the key=value pairs in the file</p>
@@ -1767,12 +1767,12 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a pod disruption budget named my-pdb that will select all pods with the app=rails label # and require at least one of them being available at any point in time.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create poddisruptionbudget <span class="hljs-keyword">my</span>-pdb <span class="hljs-comment">--selector=app=rails --min-available=1</span>
<pre class="code-block example"><code class="lang-shell">kubectl create poddisruptionbudget my-pdb <span class="hljs-attribute">--selector</span>=app=rails <span class="hljs-attribute">--min-available</span>=1
</code></pre>
<blockquote class="code-block example">
<p> Create a pod disruption budget named my-pdb that will select all pods with the app=nginx label # and require at least half of the pods selected to be available at any point in time.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create pdb <span class="hljs-keyword">my</span>-pdb <span class="hljs-comment">--selector=app=nginx --min-available=50%</span>
<pre class="code-block example"><code class="lang-shell">kubectl create pdb my-pdb <span class="hljs-attribute">--selector</span>=app=nginx <span class="hljs-attribute">--min-available</span>=50%
</code></pre>
<p>Create a pod disruption budget with the specified name, selector, and desired minimum available pods</p>
<h3 id="usage">Usage</h3>
@@ -1896,7 +1896,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a new resourcequota named best-effort</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">create</span> <span class="hljs-keyword">quota</span> best-effort <span class="hljs-comment">--hard=pods=100 --scopes=BestEffort</span>
<pre class="code-block example"><code class="lang-shell">kubectl create quota best-effort <span class="hljs-attribute">--hard</span>=pods=100 <span class="hljs-attribute">--scopes</span>=BestEffort
</code></pre>
<p>Create a resourcequota with the specified name, hard limits and optional scopes</p>
<h3 id="usage">Usage</h3>
@@ -2009,22 +2009,22 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a Role named &quot;pod-reader&quot; that allows user to perform &quot;get&quot;, &quot;watch&quot; and &quot;list&quot; on pods</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create role pod-reader --<span class="hljs-keyword">verb</span>=<span class="hljs-built_in">get</span> --<span class="hljs-keyword">verb</span>=<span class="hljs-keyword">list</span> --<span class="hljs-keyword">verb</span>=watch --resource=pods
<pre class="code-block example"><code class="lang-shell">kubectl create role pod-reader <span class="hljs-attribute">--verb</span>=get <span class="hljs-attribute">--verb</span>=list <span class="hljs-attribute">--verb</span>=watch <span class="hljs-attribute">--resource</span>=pods
</code></pre>
<blockquote class="code-block example">
<p> Create a Role named &quot;pod-reader&quot; with ResourceName specified</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">create</span> <span class="hljs-comment">role</span> <span class="hljs-comment">pod</span><span class="hljs-literal">-</span><span class="hljs-comment">reader</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">verb=get</span><span class="hljs-string">,</span><span class="hljs-comment">list</span><span class="hljs-string">,</span><span class="hljs-comment">watch</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">resource=pods</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">resource</span><span class="hljs-literal">-</span><span class="hljs-comment">name=readablepod</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">resource</span><span class="hljs-literal">-</span><span class="hljs-comment">name=anotherpod</span>
<pre class="code-block example"><code class="lang-shell">kubectl create role pod-reader <span class="hljs-attribute">--verb</span>=get,list,watch <span class="hljs-attribute">--resource</span>=pods <span class="hljs-attribute">--resource-name</span>=readablepod <span class="hljs-attribute">--resource-name</span>=anotherpod
</code></pre>
<blockquote class="code-block example">
<p> Create a Role named &quot;foo&quot; with API Group specified</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create <span class="hljs-keyword">role</span> <span class="hljs-title">foo</span> --<span class="hljs-attr">verb=</span>get,list,watch --<span class="hljs-attr">resource=</span>rs.extensions
<pre class="code-block example"><code class="lang-shell">kubectl create role foo <span class="hljs-attribute">--verb</span>=get,list,watch <span class="hljs-attribute">--resource</span>=rs.extensions
</code></pre>
<blockquote class="code-block example">
<p> Create a Role named &quot;foo&quot; with SubResource specified</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create <span class="hljs-keyword">role</span> <span class="hljs-title">foo</span> --<span class="hljs-attr">verb=</span>get,list,watch --<span class="hljs-attr">resource=</span>pods,pods/status
<pre class="code-block example"><code class="lang-shell">kubectl create role foo <span class="hljs-attribute">--verb</span>=get,list,watch <span class="hljs-attribute">--resource</span>=pods,pods/status
</code></pre>
<p>Create a role with single rule.</p>
<h3 id="usage">Usage</h3>
@@ -2137,7 +2137,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a RoleBinding for user1, user2, and group1 using the admin ClusterRole</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">create</span> <span class="hljs-comment">rolebinding</span> <span class="hljs-comment">admin</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">clusterrole=admin</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">user=user1</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">user=user2</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">group=group1</span>
<pre class="code-block example"><code class="lang-shell">kubectl create rolebinding admin <span class="hljs-attribute">--clusterrole</span>=admin <span class="hljs-attribute">--user</span>=user1 <span class="hljs-attribute">--user</span>=user2 <span class="hljs-attribute">--group</span>=group1
</code></pre>
<p>Create a RoleBinding for a particular Role or ClusterRole.</p>
<h3 id="usage">Usage</h3>
@@ -2273,7 +2273,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> If you don&#39;t already have a .dockercfg file, you can create a dockercfg secret directly by using:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">create</span> <span class="hljs-comment">secret</span> <span class="hljs-comment">docker</span><span class="hljs-literal">-</span><span class="hljs-comment">registry</span> <span class="hljs-comment">my</span><span class="hljs-literal">-</span><span class="hljs-comment">secret</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">docker</span><span class="hljs-literal">-</span><span class="hljs-comment">server=DOCKER_REGISTRY_SERVER</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">docker</span><span class="hljs-literal">-</span><span class="hljs-comment">username=DOCKER_USER</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">docker</span><span class="hljs-literal">-</span><span class="hljs-comment">password=DOCKER_PASSWORD</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">docker</span><span class="hljs-literal">-</span><span class="hljs-comment">email=DOCKER_EMAIL</span>
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> secret </span>docker-registry my-secret <span class="hljs-attribute">--docker-server</span>=DOCKER_REGISTRY_SERVER <span class="hljs-attribute">--docker-username</span>=DOCKER_USER <span class="hljs-attribute">--docker-password</span>=DOCKER_PASSWORD <span class="hljs-attribute">--docker-email</span>=DOCKER_EMAIL
</code></pre>
<p>Create a new secret for use with Docker registries. </p>
<p>Dockercfg secrets are used to authenticate against Docker registries. </p>
@@ -2409,22 +2409,22 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a new secret named my-secret with keys for each file in folder bar</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">create</span> secret generic my-secret --<span class="hljs-keyword">from</span>-file=<span class="hljs-keyword">path</span>/<span class="hljs-keyword">to</span>/bar
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> secret </span>generic my-secret <span class="hljs-attribute">--from-file</span>=path/to/bar
</code></pre>
<blockquote class="code-block example">
<p> Create a new secret named my-secret with specified keys instead of names on disk</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create secret generic my-secret --<span class="hljs-keyword">from</span>-<span class="hljs-keyword">file</span>=ssh-privatekey=~<span class="hljs-regexp">/.ssh/i</span>d_rsa --<span class="hljs-keyword">from</span>-<span class="hljs-keyword">file</span>=ssh-publickey=~<span class="hljs-regexp">/.ssh/i</span>d_rsa.pub
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> secret </span>generic my-secret <span class="hljs-attribute">--from-file</span>=ssh-privatekey=~/.ssh/id_rsa <span class="hljs-attribute">--from-file</span>=ssh-publickey=~/.ssh/id_rsa.pub
</code></pre>
<blockquote class="code-block example">
<p> Create a new secret named my-secret with key1=supersecret and key2=topsecret</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create secret <span class="hljs-keyword">generic</span> my-secret --<span class="hljs-keyword">from</span>-literal=key1=supersecret --<span class="hljs-keyword">from</span>-literal=key2=topsecret
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> secret </span>generic my-secret <span class="hljs-attribute">--from-literal</span>=key1=supersecret <span class="hljs-attribute">--from-literal</span>=key2=topsecret
</code></pre>
<blockquote class="code-block example">
<p> Create a new secret named my-secret from an env file</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">create</span> secret generic my-secret --<span class="hljs-keyword">from</span>-env-file=<span class="hljs-keyword">path</span>/<span class="hljs-keyword">to</span>/bar.env
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> secret </span>generic my-secret <span class="hljs-attribute">--from-env-file</span>=path/to/bar.env
</code></pre>
<p>Create a secret based on a file, directory, or specified literal value. </p>
<p>A single secret may package one or more key/value pairs. </p>
@@ -2552,7 +2552,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a new TLS secret named tls-secret with the given key pair:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">create</span> secret tls tls-secret --cert=<span class="hljs-keyword">path</span>/<span class="hljs-keyword">to</span>/tls.cert --<span class="hljs-keyword">key</span>=<span class="hljs-keyword">path</span>/<span class="hljs-keyword">to</span>/tls.<span class="hljs-keyword">key</span>
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> secret </span>tls tls-secret <span class="hljs-attribute">--cert</span>=path/to/tls.cert <span class="hljs-attribute">--key</span>=path/to/tls.key
</code></pre>
<p>Create a TLS secret from the given public/private key pair. </p>
<p>The public/private key pair must exist before hand. The public key certificate must be .PEM encoded and match the given private key.</p>
@@ -2671,12 +2671,12 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a new clusterIP service named my-cs</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create service clusterip <span class="hljs-keyword">my</span>-cs <span class="hljs-comment">--tcp=5678:8080</span>
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> service </span>clusterip my-cs <span class="hljs-attribute">--tcp</span>=5678:8080
</code></pre>
<blockquote class="code-block example">
<p> Create a new clusterIP service named my-cs (in headless mode)</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create service clusterip <span class="hljs-keyword">my</span>-cs <span class="hljs-comment">--clusterip="None"</span>
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> service </span>clusterip my-cs <span class="hljs-attribute">--clusterip</span>=<span class="hljs-string">"None"</span>
</code></pre>
<p>Create a clusterIP service with the specified name.</p>
<h3 id="usage">Usage</h3>
@@ -2789,7 +2789,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a new ExternalName service named my-ns</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">create</span> service externalname my-ns --<span class="hljs-keyword">external</span>-name <span class="hljs-built_in">bar</span>.com
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> service </span>externalname my-ns --external-name bar.com
</code></pre>
<p>Create an ExternalName service with the specified name. </p>
<p>ExternalName service references to an external DNS address instead of only pods, which will allow application authors to reference services that exist off platform, on other clusters, or locally.</p>
@@ -2903,7 +2903,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a new LoadBalancer service named my-lbs</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create service loadbalancer <span class="hljs-keyword">my</span>-lbs <span class="hljs-comment">--tcp=5678:8080</span>
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> service </span>loadbalancer my-lbs <span class="hljs-attribute">--tcp</span>=5678:8080
</code></pre>
<p>Create a LoadBalancer service with the specified name.</p>
<h3 id="usage">Usage</h3>
@@ -3010,7 +3010,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Create a new nodeport service named my-ns</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create service nodeport <span class="hljs-keyword">my</span>-ns <span class="hljs-comment">--tcp=5678:8080</span>
<pre class="code-block example"><code class="lang-shell">kubectl create<span class="hljs-built_in"> service </span>nodeport my-ns <span class="hljs-attribute">--tcp</span>=5678:8080
</code></pre>
<p>Create a nodeport service with the specified name.</p>
<h3 id="usage">Usage</h3>
@@ -3245,7 +3245,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Delete pods and services with label name=myLabel.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">delete</span> pods,services -l <span class="hljs-keyword">name</span>=myLabel
<pre class="code-block example"><code class="lang-shell">kubectl delete pods,services -l <span class="hljs-attribute">name</span>=myLabel
</code></pre>
<blockquote class="code-block example">
<p> Delete a pod with minimal delay</p>
@@ -3359,12 +3359,12 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Edit the service named &#39;docker-registry&#39;:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">edit</span> svc/docker-registry
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">edit</span> svc/docker-registry
</code></pre>
<blockquote class="code-block example">
<p> Use an alternative editor</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-attr">KUBE_EDITOR</span>=<span class="hljs-string">"nano"</span> kubectl edit svc/docker-registry
<pre class="code-block example"><code class="lang-shell"><span class="hljs-attribute">KUBE_EDITOR</span>=<span class="hljs-string">"nano"</span> kubectl <span class="hljs-builtin-name">edit</span> svc/docker-registry
</code></pre>
<blockquote class="code-block example">
<p> Edit the job &#39;myjob&#39; in JSON using the v1 API format:</p>
@@ -3456,27 +3456,27 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> List all pods in ps output format.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">get</span> pods
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">get</span> pods
</code></pre>
<blockquote class="code-block example">
<p> List all pods in ps output format with more information (such as node name).</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">get</span> pods -o wide
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">get</span> pods -o wide
</code></pre>
<blockquote class="code-block example">
<p> List a single replication controller with specified NAME in ps output format.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">get</span> replicationcontroller web
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">get</span> replicationcontroller web
</code></pre>
<blockquote class="code-block example">
<p> List a single pod in JSON output format.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">get</span> -o json pod web-pod<span class="hljs-number">-13</span>je7
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">get</span> -o json pod web-pod-13je7
</code></pre>
<blockquote class="code-block example">
<p> List a pod identified by type and name specified in &quot;pod.yaml&quot; in JSON output format.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl get -f pod<span class="hljs-selector-class">.yaml</span> -o json
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">get</span> -f pod.yaml -o json
</code></pre>
<blockquote class="code-block example">
<p> Return only the phase value of the specified pod.</p>
@@ -3486,12 +3486,12 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> List all replication controllers and services together in ps output format.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">get</span> rc,services
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">get</span> rc,services
</code></pre>
<blockquote class="code-block example">
<p> List one or more resources by their type and names.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">get</span> rc/web service/frontend pods/web-pod<span class="hljs-number">-13</span>je7
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">get</span> rc/web service/frontend pods/web-pod-13je7
</code></pre>
<blockquote class="code-block example">
<p> List all resources with different types.</p>
@@ -3714,7 +3714,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Update pod &#39;foo&#39; only if the resource is unchanged from version 1.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">label</span><span class="bash"> pods foo status=unhealthy --resource-version=1</span>
<pre class="code-block example"><code class="lang-shell">kubectl label pods foo <span class="hljs-attribute">status</span>=unhealthy <span class="hljs-attribute">--resource-version</span>=1
</code></pre>
<blockquote class="code-block example">
<p> Update pod &#39;foo&#39; by removing a label named &#39;bar&#39; if it exists. # Does not require the --overwrite flag.</p>
@@ -3865,7 +3865,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Update a container&#39;s image; spec.containers[*].name is required because it&#39;s a merge key</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl patch pod valid-pod -p <span class="hljs-string">'{"</span>spec<span class="hljs-string">":{"</span>containers<span class="hljs-string">":[{"</span>name<span class="hljs-string">":"</span>kubernetes-serve-hostname<span class="hljs-string">","</span>image<span class="hljs-string">":"</span>new image<span class="hljs-string">"}]}}'</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">patch</span> pod valid-pod -p '{<span class="hljs-string">"spec"</span>:{<span class="hljs-string">"containers"</span>:[{<span class="hljs-string">"name"</span>:<span class="hljs-string">"kubernetes-serve-hostname"</span>,<span class="hljs-string">"image"</span>:<span class="hljs-string">"new image"</span>}]}}'
</code></pre>
<blockquote class="code-block example">
<p> Update a container&#39;s image using a json patch with positional arrays</p>
@@ -3985,7 +3985,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Replace a pod using the data in pod.json.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl replace <span class="hljs-_">-f</span> ./pod.json
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">replace</span> -f ./pod.json
</code></pre>
<blockquote class="code-block example">
<p> Replace a pod based on the JSON passed into stdin.</p>
@@ -4000,7 +4000,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Force replace, delete and then re-create the resource</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">replace</span> <span class="hljs-comment">--force -f ./pod.json</span>
<pre class="code-block example"><code class="lang-shell">kubectl replace <span class="hljs-params">--force</span> -f <span class="hljs-string">./pod.json</span>
</code></pre>
<p>Replace a resource by filename or stdin. </p>
<p>JSON and YAML formats are accepted. If replacing an existing resource, the complete resource spec must be provided. This can be obtained by </p>
@@ -4294,7 +4294,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> View the details of daemonset revision 3</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl rollout <span class="hljs-keyword">history</span> daemonset/<span class="hljs-keyword">abc</span> --revision=<span class="hljs-number">3</span>
<pre class="code-block example"><code class="lang-shell">kubectl rollout <span class="hljs-keyword">history</span> daemonset/abc <span class="hljs-params">--revision=3</span>
</code></pre>
<p>View previous rollout revisions and configurations.</p>
<h3 id="usage">Usage</h3>
@@ -4335,7 +4335,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Mark the nginx deployment as paused. Any current state of # the deployment will continue its function, new updates to the deployment will not # have an effect as long as the deployment is paused.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl rollout <span class="hljs-built_in">pause</span> deployment/nginx
<pre class="code-block example"><code class="lang-shell">kubectl rollout <span class="hljs-keyword">pause</span> deployment/nginx
</code></pre>
<p>Mark the provided resource as paused </p>
<p>Paused resources will not be reconciled by a controller. Use &quot;kubectl rollout resume&quot; to resume a paused resource. Currently only deployments support being paused.</p>
@@ -4512,17 +4512,17 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Scale a replicaset named &#39;foo&#39; to 3.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-comment">--replicas=3 rs/foo</span>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-attribute">--replicas</span>=3 rs/foo
</code></pre>
<blockquote class="code-block example">
<p> Scale a resource identified by type and name specified in &quot;foo.yaml&quot; to 3.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-comment">--replicas=3 -f foo.yaml</span>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-attribute">--replicas</span>=3 -f foo.yaml
</code></pre>
<blockquote class="code-block example">
<p> If the deployment named mysql&#39;s current size is 2, scale mysql to 3.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">scale</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">current</span><span class="hljs-literal">-</span><span class="hljs-comment">replicas=2</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">replicas=3</span> <span class="hljs-comment">deployment/mysql</span>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-attribute">--current-replicas</span>=2 <span class="hljs-attribute">--replicas</span>=3 deployment/mysql
</code></pre>
<blockquote class="code-block example">
<p> Scale multiple replication controllers.</p>
@@ -4532,7 +4532,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Scale job named &#39;cron&#39; to 3.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-comment">--replicas=3 job/cron</span>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-attribute">--replicas</span>=3 job/cron
</code></pre>
<p>Set a new size for a Deployment, ReplicaSet, Replication Controller, or Job. </p>
<p>Scale also allows users to specify one or more preconditions for the scale action. </p>
@@ -4617,12 +4617,12 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Set a deployment&#39;s nginx container image to &#39;nginx:1.9.1&#39;, and its busybox container image to &#39;busybox&#39;.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl set image deployment/nginx <span class="hljs-attr">busybox=busybox</span> <span class="hljs-attr">nginx=nginx:1.9.1</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> image deployment/nginx <span class="hljs-attribute">busybox</span>=busybox <span class="hljs-attribute">nginx</span>=nginx:1.9.1
</code></pre>
<blockquote class="code-block example">
<p> Update all deployments&#39; and rc&#39;s nginx container&#39;s image to &#39;nginx:1.9.1&#39;</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">set</span> image deployments,rc nginx=nginx:<span class="hljs-number">1.9</span><span class="hljs-number">.1</span> <span class="hljs-comment">--all</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> image deployments,rc <span class="hljs-attribute">nginx</span>=nginx:1.9.1 --all
</code></pre>
<blockquote class="code-block example">
<p> Update image of all containers of daemonset abc to &#39;nginx:1.9.1&#39;</p>
@@ -4632,7 +4632,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Print result (in yaml format) of updating nginx container image from local file, without hitting the server</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">set</span> image -f path/<span class="hljs-keyword">to</span>/<span class="hljs-built_in">file</span>.yaml nginx=nginx:<span class="hljs-number">1.9</span><span class="hljs-number">.1</span> <span class="hljs-comment">--local -o yaml</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> image -f path/<span class="hljs-keyword">to</span>/file.yaml <span class="hljs-attribute">nginx</span>=nginx:1.9.1 --local -o yaml
</code></pre>
<p>Update existing container image(s) of resources. </p>
<p>Possible resources include (case insensitive): </p>
@@ -4747,22 +4747,22 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Set a deployments nginx container cpu limits to &quot;200m&quot; and memory to &quot;512Mi&quot;</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">set</span> resources deployment nginx -c=nginx <span class="hljs-comment">--limits=cpu=200m,memory=512Mi</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> resources deployment nginx <span class="hljs-attribute">-c</span>=nginx <span class="hljs-attribute">--limits</span>=cpu=200m,memory=512Mi
</code></pre>
<blockquote class="code-block example">
<p> Set the resource request and limits for all containers in nginx</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl set resources deployment nginx --limits=cpu=<span class="hljs-number">200</span>m,memory=<span class="hljs-number">512</span>Mi --requests=cpu=<span class="hljs-number">100</span>m,memory=<span class="hljs-number">256</span>Mi
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> resources deployment nginx <span class="hljs-attribute">--limits</span>=cpu=200m,memory=512Mi <span class="hljs-attribute">--requests</span>=cpu=100m,memory=256Mi
</code></pre>
<blockquote class="code-block example">
<p> Remove the resource requests for resources on containers in nginx</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl set resources deployment nginx --limits=cpu=<span class="hljs-number">0</span>,memory=<span class="hljs-number">0</span> --requests=cpu=<span class="hljs-number">0</span>,memory=<span class="hljs-number">0</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> resources deployment nginx <span class="hljs-attribute">--limits</span>=cpu=0,memory=0 <span class="hljs-attribute">--requests</span>=cpu=0,memory=0
</code></pre>
<blockquote class="code-block example">
<p> Print the result (in yaml format) of updating nginx container limits from a local, without hitting the server</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">set</span> resources -f path/<span class="hljs-keyword">to</span>/<span class="hljs-built_in">file</span>.yaml <span class="hljs-comment">--limits=cpu=200m,memory=512Mi --local -o yaml</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> resources -f path/<span class="hljs-keyword">to</span>/file.yaml <span class="hljs-attribute">--limits</span>=cpu=200m,memory=512Mi --local -o yaml
</code></pre>
<p>Specify compute resource requirements (cpu, memory) for any resource that defines a pod template. If a pod is successfully scheduled, it is guaranteed the amount of resource requested, but may burst up to its specified limits. </p>
<p>for each compute resource, if a limit is specified and a request is omitted, the request will default to the limit. </p>
@@ -4895,8 +4895,8 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> set the labels and selector before creating a deployment/service pair.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl create service clusterip my-svc --clusterip=<span class="hljs-string">"None"</span> -o yaml --dry-<span class="hljs-keyword">run</span><span class="bash"> | kubectl <span class="hljs-built_in">set</span> selector --local <span class="hljs-_">-f</span> - <span class="hljs-string">'environment=qa'</span> -o yaml | kubectl create <span class="hljs-_">-f</span> -
</span>kubectl create deployment my-dep -o yaml --dry-<span class="hljs-keyword">run</span><span class="bash"> | kubectl label --local <span class="hljs-_">-f</span> - environment=qa -o yaml | kubectl create <span class="hljs-_">-f</span> -</span>
<pre class="code-block example"><code class="lang-shell">kubectl create service clusterip my-svc --clusterip=<span class="hljs-string">"None"</span> -o yaml --dry-<span class="hljs-keyword">run</span><span class="bash"> | kubectl <span class="hljs-built_in">set</span> selector --<span class="hljs-built_in">local</span> -f - <span class="hljs-string">'environment=qa'</span> -o yaml | kubectl create -f -
</span>kubectl create deployment my-dep -o yaml --dry-<span class="hljs-keyword">run</span><span class="bash"> | kubectl label --<span class="hljs-built_in">local</span> -f - environment=qa -o yaml | kubectl create -f -</span>
</code></pre>
<p>Set the selector on a resource. Note that the new selector will overwrite the old selector if the resource had one prior to the invocation of &#39;set selector&#39;. </p>
<p>A selector must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores, up to 63 characters. If --resource-version is specified, then updates will use this resource version, otherwise the existing resource-version will be used. Note: currently selectors can only be set on Service objects.</p>
@@ -5010,17 +5010,17 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Update a ClusterRoleBinding for serviceaccount1</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">set</span> subject clusterrolebinding <span class="hljs-keyword">admin</span> <span class="hljs-comment">--serviceaccount=namespace:serviceaccount1</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> subject clusterrolebinding admin <span class="hljs-attribute">--serviceaccount</span>=namespace:serviceaccount1
</code></pre>
<blockquote class="code-block example">
<p> Update a RoleBinding for user1, user2, and group1</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">set</span> <span class="hljs-comment">subject</span> <span class="hljs-comment">rolebinding</span> <span class="hljs-comment">admin</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">user=user1</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">user=user2</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">group=group1</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">set</span> subject rolebinding admin <span class="hljs-attribute">--user</span>=user1 <span class="hljs-attribute">--user</span>=user2 <span class="hljs-attribute">--group</span>=group1
</code></pre>
<blockquote class="code-block example">
<p> Print the result (in yaml format) of updating rolebinding subjects from a local, without hitting the server</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">create</span> <span class="hljs-comment">rolebinding</span> <span class="hljs-comment">admin</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">role=admin</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">user=admin</span> <span class="hljs-literal">-</span><span class="hljs-comment">o</span> <span class="hljs-comment">yaml</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">dry</span><span class="hljs-literal">-</span><span class="hljs-comment">run</span> <span class="hljs-comment">|</span> <span class="hljs-comment">kubectl</span> <span class="hljs-comment">set</span> <span class="hljs-comment">subject</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">local</span> <span class="hljs-literal">-</span><span class="hljs-comment">f</span> <span class="hljs-literal">-</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">user=foo</span> <span class="hljs-literal">-</span><span class="hljs-comment">o</span> <span class="hljs-comment">yaml</span>
<pre class="code-block example"><code class="lang-shell">kubectl create rolebinding admin <span class="hljs-attribute">--role</span>=admin <span class="hljs-attribute">--user</span>=admin -o yaml --dry-<span class="hljs-builtin-name">run</span> | kubectl <span class="hljs-builtin-name">set</span> subject --local -f - <span class="hljs-attribute">--user</span>=foo -o yaml
</code></pre>
<p>Update User, Group or ServiceAccount in a RoleBinding/ClusterRoleBinding.</p>
<h3 id="usage">Usage</h3>
@@ -5146,7 +5146,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Apply the configuration in pod.json to a pod.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl apply <span class="hljs-_">-f</span> ./pod.json
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">apply</span> -f ./pod.json
</code></pre>
<blockquote class="code-block example">
<p> Apply the JSON passed into stdin to a pod.</p>
@@ -5156,7 +5156,7 @@ viewing your workloads in a Kubernetes cluster.</p>
<blockquote class="code-block example">
<p> Note: --prune is still in Alpha # Apply the configuration in manifest.yaml that matches label app=nginx and delete all the other resources that are not in the file and match label app=nginx.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl apply --prune <span class="hljs-_">-f</span> manifest.yaml <span class="hljs-_">-l</span> app=nginx
<pre class="code-block example"><code class="lang-shell">kubectl apply --prune -f manifest.yaml -l <span class="hljs-attribute">app</span>=nginx
</code></pre>
<blockquote class="code-block example">
<p> Apply the configuration in manifest.yaml and delete all the other configmaps that are not in the file.</p>
@@ -5651,12 +5651,12 @@ applications.</p>
<blockquote class="code-block example">
<p> Check to see if I can read pod logs</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl auth can-i <span class="hljs-keyword">get</span> pods <span class="hljs-comment">--subresource=log</span>
<pre class="code-block example"><code class="lang-shell">kubectl auth can-i <span class="hljs-builtin-name">get</span> pods <span class="hljs-attribute">--subresource</span>=log
</code></pre>
<blockquote class="code-block example">
<p> Check to see if I can access the URL /logs/</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl auth can-<span class="hljs-selector-tag">i</span> get /logs/
<pre class="code-block example"><code class="lang-shell">kubectl auth can-i <span class="hljs-builtin-name">get</span> /logs/
</code></pre>
<p>Check whether an action is allowed. </p>
<p>VERB is a logical Kubernetes API verb like &#39;get&#39;, &#39;list&#39;, &#39;watch&#39;, &#39;delete&#39;, etc. TYPE is a Kubernetes resource. Shortcuts and groups will be resolved. NONRESOURCEURL is a partial URL starts with &quot;/&quot;. NAME is the name of a particular Kubernetes resource.</p>
@@ -5752,7 +5752,7 @@ applications.</p>
<blockquote class="code-block example">
<p> Describe a pod identified by type and name in &quot;pod.json&quot;</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl describe <span class="hljs-_">-f</span> pod.json
<pre class="code-block example"><code class="lang-shell"><span class="hljs-selector-tag">kubectl</span> <span class="hljs-selector-tag">describe</span> <span class="hljs-selector-tag">-f</span> <span class="hljs-selector-tag">pod</span><span class="hljs-selector-class">.json</span>
</code></pre>
<blockquote class="code-block example">
<p> Describe all pods</p>
@@ -5762,7 +5762,7 @@ applications.</p>
<blockquote class="code-block example">
<p> Describe pods by label name=myLabel</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">describe</span> po -l <span class="hljs-keyword">name</span>=myLabel
<pre class="code-block example"><code class="lang-shell">kubectl describe po -l <span class="hljs-attribute">name</span>=myLabel
</code></pre>
<blockquote class="code-block example">
<p> Describe all pods managed by the &#39;frontend&#39; replication controller (rc-created pods # get the name of the rc as a prefix in the pod the name).</p>
@@ -5936,7 +5936,7 @@ applications.</p>
<blockquote class="code-block example">
<p> Return snapshot logs for the pods defined by label app=nginx</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-attribute">kubectl logs -lapp</span>=nginx
<pre class="code-block example"><code class="lang-shell">kubectl logs <span class="hljs-attribute">-lapp</span>=nginx
</code></pre>
<blockquote class="code-block example">
<p> Return snapshot of previous terminated ruby container logs from pod web-1</p>
@@ -5946,17 +5946,17 @@ applications.</p>
<blockquote class="code-block example">
<p> Begin streaming the logs of the ruby container in pod web-1</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl logs <span class="hljs-_">-f</span> -c ruby web-1
<pre class="code-block example"><code class="lang-shell">kubectl logs -f -<span class="hljs-keyword">c</span> ruby web<span class="hljs-number">-1</span>
</code></pre>
<blockquote class="code-block example">
<p> Display only the most recent 20 lines of output in pod nginx</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl logs <span class="hljs-comment">--tail=20 nginx</span>
<pre class="code-block example"><code class="lang-shell">kubectl logs <span class="hljs-attribute">--tail</span>=20 nginx
</code></pre>
<blockquote class="code-block example">
<p> Show all logs from pod nginx written in the last hour</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl logs <span class="hljs-comment">--since=1h nginx</span>
<pre class="code-block example"><code class="lang-shell">kubectl logs <span class="hljs-attribute">--since</span>=1h nginx
</code></pre>
<blockquote class="code-block example">
<p> Return snapshot logs from first container of a job named hello</p>
@@ -6105,32 +6105,32 @@ applications.</p>
<blockquote class="code-block example">
<p> To proxy all of the kubernetes api and nothing else, use:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">$ kubectl proxy <span class="hljs-comment">--api-prefix=/</span>
<pre class="code-block example"><code class="lang-shell">$ kubectl<span class="hljs-built_in"> proxy </span><span class="hljs-attribute">--api-prefix</span>=/
</code></pre>
<blockquote class="code-block example">
<p> To proxy only part of the kubernetes api and also some static files:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-variable">$ </span>kubectl proxy --www=<span class="hljs-regexp">/my/files</span> --www-prefix=<span class="hljs-regexp">/static/</span> --api-prefix=<span class="hljs-regexp">/api/</span>
<pre class="code-block example"><code class="lang-shell">$ kubectl<span class="hljs-built_in"> proxy </span><span class="hljs-attribute">--www</span>=/my/files <span class="hljs-attribute">--www-prefix</span>=/static/ <span class="hljs-attribute">--api-prefix</span>=/api/
</code></pre>
<blockquote class="code-block example">
<p> The above lets you &#39;curl localhost:8001/api/v1/pods&#39;. # To proxy the entire kubernetes api at a different root, use:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-variable">$ </span>kubectl proxy --api-prefix=<span class="hljs-regexp">/custom/</span>
<pre class="code-block example"><code class="lang-shell">$ kubectl<span class="hljs-built_in"> proxy </span><span class="hljs-attribute">--api-prefix</span>=/custom/
</code></pre>
<blockquote class="code-block example">
<p> The above lets you &#39;curl localhost:8001/custom/api/v1/pods&#39; # Run a proxy to kubernetes apiserver on port 8011, serving static content from ./local/www/</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">proxy</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">port=8011</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">www=</span><span class="hljs-string">.</span><span class="hljs-comment">/local/www/</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> proxy </span><span class="hljs-attribute">--port</span>=8011 <span class="hljs-attribute">--www</span>=./local/www/
</code></pre>
<blockquote class="code-block example">
<p> Run a proxy to kubernetes apiserver on an arbitrary local port. # The chosen port for the server will be output to stdout.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl proxy <span class="hljs-comment">--port=0</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> proxy </span><span class="hljs-attribute">--port</span>=0
</code></pre>
<blockquote class="code-block example">
<p> Run a proxy to kubernetes apiserver, changing the api prefix to k8s-api # This makes e.g. the pods api available at localhost:8001/k8s-api/v1/pods/</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl proxy <span class="hljs-comment">--api-prefix=/k8s-api</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> proxy </span><span class="hljs-attribute">--api-prefix</span>=/k8s-api
</code></pre>
<p>Creates a proxy server or application-level gateway between localhost and the Kubernetes API Server. It also allows serving static content over specified HTTP path. All incoming data enters through one port and gets forwarded to the remote kubernetes API Server port, except for the path matching the static content path.</p>
<h3 id="usage">Usage</h3>
@@ -6300,7 +6300,7 @@ applications.</p>
<blockquote class="code-block example">
<p> Show metrics for the pods defined by label name=myLabel</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl top pod -l <span class="hljs-built_in">name</span>=myLabel
<pre class="code-block example"><code class="lang-shell">kubectl top pod -l <span class="hljs-attribute">name</span>=myLabel
</code></pre>
<p>Display Resource (CPU/Memory/Storage) usage of pods. </p>
<p>The &#39;top pod&#39; command allows you to see the resource consumption of pods. </p>
@@ -6492,12 +6492,12 @@ applications.</p>
<blockquote class="code-block example">
<p> Dump current cluster state to /path/to/cluster-state</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl cluster-info <span class="hljs-keyword">dump</span> --output-directory=<span class="hljs-regexp">/path/</span>to<span class="hljs-regexp">/cluster-state</span>
<pre class="code-block example"><code class="lang-shell">kubectl cluster-<span class="hljs-builtin-name">info</span> dump <span class="hljs-attribute">--output-directory</span>=/path/to/cluster-state
</code></pre>
<blockquote class="code-block example">
<p> Dump all namespaces to stdout</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-attribute">kubectl</span> cluster-<span class="hljs-literal">info</span> dump --all-namespaces
<pre class="code-block example"><code class="lang-shell">kubectl cluster-info <span class="hljs-built_in">dump</span> <span class="hljs-comment">--all-namespaces</span>
</code></pre>
<blockquote class="code-block example">
<p> Dump a set of namespaces to /path/to/cluster-state</p>
@@ -6560,12 +6560,12 @@ applications.</p>
<blockquote class="code-block example">
<p> Drain node &quot;foo&quot;, even if there are pods not managed by a ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet on it.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">$ kubectl drain foo <span class="hljs-comment">--force</span>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-meta">$</span><span class="bash"> kubectl drain foo --force</span>
</code></pre>
<blockquote class="code-block example">
<p> As above, but abort if there are pods not managed by a ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet, and use a grace period of 15 minutes.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">$ kubectl drain foo <span class="hljs-comment">--grace-period=900</span>
<pre class="code-block example"><code class="lang-shell">$ kubectl drain foo <span class="hljs-attribute">--grace-period</span>=900
</code></pre>
<p>Drain node in preparation for maintenance. </p>
<p>The given node will be marked unschedulable to prevent new pods from arriving. &#39;drain&#39; evicts the pods if the APIServer supports eviction (<a href="http://kubernetes.io/docs/admin/disruptions/">http://kubernetes.io/docs/admin/disruptions/</a>). Otherwise, it will use normal DELETE to delete the pods. The &#39;drain&#39; evicts or deletes all pods except mirror pods (which cannot be deleted through the API server). If there are DaemonSet-managed pods, drain will not proceed without --ignore-daemonsets, and regardless it will not delete any DaemonSet-managed pods, because those pods would be immediately replaced by the DaemonSet controller, which ignores unschedulable markings. If there are any pods that are neither mirror pods nor managed by ReplicationController, ReplicaSet, DaemonSet, StatefulSet or Job, then drain will not delete any pods unless you use --force. --force will also allow deletion to proceed if the managing resource of one or more pods is missing. </p>
@@ -6622,7 +6622,7 @@ applications.</p>
<blockquote class="code-block example">
<p> Update node &#39;foo&#39; with a taint with key &#39;dedicated&#39; and value &#39;special-user&#39; and effect &#39;NoSchedule&#39;. # If a taint with that key and effect already exists, its value is replaced as specified.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl taint nodes foo dedicated=<span class="hljs-keyword">special</span>-user:NoSchedule
<pre class="code-block example"><code class="lang-shell">kubectl taint nodes foo <span class="hljs-attribute">dedicated</span>=special-user:NoSchedule
</code></pre>
<blockquote class="code-block example">
<p> Remove from node &#39;foo&#39; the taint with key &#39;dedicated&#39; and effect &#39;NoSchedule&#39; if one exists.</p>
@@ -6751,7 +6751,7 @@ applications.</p>
<blockquote class="code-block example">
<p> Mark node &quot;foo&quot; as schedulable.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-variable">$ </span>kubectl uncordon foo
<pre class="code-block example"><code class="lang-shell"><span class="hljs-meta">$</span><span class="bash"> kubectl uncordon foo</span>
</code></pre>
<p>Mark node as schedulable.</p>
<h3 id="usage">Usage</h3>
@@ -6838,7 +6838,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Display the current-context</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">config</span> current-<span class="hljs-built_in">context</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>current-context
</code></pre>
<p>Displays the current-context</p>
<h3 id="usage">Usage</h3>
@@ -6868,7 +6868,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> List the clusters kubectl knows about</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">config</span> <span class="hljs-built_in">get</span>-clusters
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>get-clusters
</code></pre>
<p>Display clusters defined in the kubeconfig.</p>
<h3 id="usage">Usage</h3>
@@ -6878,7 +6878,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> List all the contexts in your kubeconfig file</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">config</span> <span class="hljs-built_in">get</span>-contexts
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>get-contexts
</code></pre>
<blockquote class="code-block example">
<p> Describe one context in your kubeconfig file.</p>
@@ -6924,7 +6924,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Rename the context &#39;old-name&#39; to &#39;new-name&#39; in your kubeconfig file</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl config <span class="hljs-keyword">rename</span>-<span class="hljs-keyword">context</span> <span class="hljs-keyword">old</span>-<span class="hljs-keyword">name</span> <span class="hljs-keyword">new</span>-<span class="hljs-keyword">name</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>rename-context old-name new-name
</code></pre>
<p>Renames a context from the kubeconfig file . </p>
<p>CONTEXT _NAME is the context name that you wish change. </p>
@@ -6963,17 +6963,17 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Set only the server field on the e2e cluster entry without touching other values.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-cluster</span> <span class="hljs-string">e2e </span><span class="hljs-built_in">--server=https://1.2.3.4</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-cluster e2e <span class="hljs-attribute">--server</span>=https://1.2.3.4
</code></pre>
<blockquote class="code-block example">
<p> Embed certificate authority data for the e2e cluster entry</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-cluster</span> <span class="hljs-string">e2e </span><span class="hljs-built_in">--certificate-authority=~/.kube/e2e/kubernetes.ca.crt</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-cluster e2e <span class="hljs-attribute">--certificate-authority</span>=~/.kube/e2e/kubernetes.ca.crt
</code></pre>
<blockquote class="code-block example">
<p> Disable cert checking for the dev cluster entry</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-cluster</span> <span class="hljs-string">e2e </span><span class="hljs-built_in">--insecure-skip-tls-verify=true</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-cluster e2e <span class="hljs-attribute">--insecure-skip-tls-verify</span>=<span class="hljs-literal">true</span>
</code></pre>
<p>Sets a cluster entry in kubeconfig. </p>
<p>Specifying a name that already exists will merge new fields on top of existing values for those fields.</p>
@@ -7021,7 +7021,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Set the user field on the gce context entry without touching other values</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-context</span> <span class="hljs-string">gce </span><span class="hljs-built_in">--user=cluster-admin</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-context gce <span class="hljs-attribute">--user</span>=cluster-admin
</code></pre>
<p>Sets a context entry in kubeconfig </p>
<p>Specifying a name that already exists will merge new fields on top of existing values for those fields.</p>
@@ -7063,32 +7063,32 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Set only the &quot;client-key&quot; field on the &quot;cluster-admin&quot; # entry, without touching other values:</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-credentials</span> <span class="hljs-string">cluster-admin </span><span class="hljs-built_in">--client-key=~/.kube/admin.key</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-credentials cluster-admin <span class="hljs-attribute">--client-key</span>=~/.kube/admin.key
</code></pre>
<blockquote class="code-block example">
<p> Set basic auth for the &quot;cluster-admin&quot; entry</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-credentials</span> <span class="hljs-string">cluster-admin </span><span class="hljs-built_in">--username=admin</span> <span class="hljs-built_in">--password=uXFGweU9l35qcif</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-credentials cluster-admin <span class="hljs-attribute">--username</span>=admin <span class="hljs-attribute">--password</span>=uXFGweU9l35qcif
</code></pre>
<blockquote class="code-block example">
<p> Embed client certificate data in the &quot;cluster-admin&quot; entry</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-credentials</span> <span class="hljs-string">cluster-admin </span><span class="hljs-built_in">--client-certificate=~/.kube/admin.crt</span> <span class="hljs-built_in">--embed-certs=true</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-credentials cluster-admin <span class="hljs-attribute">--client-certificate</span>=~/.kube/admin.crt <span class="hljs-attribute">--embed-certs</span>=<span class="hljs-literal">true</span>
</code></pre>
<blockquote class="code-block example">
<p> Enable the Google Compute Platform auth provider for the &quot;cluster-admin&quot; entry</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-credentials</span> <span class="hljs-string">cluster-admin </span><span class="hljs-built_in">--auth-provider=gcp</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-credentials cluster-admin <span class="hljs-attribute">--auth-provider</span>=gcp
</code></pre>
<blockquote class="code-block example">
<p> Enable the OpenID Connect auth provider for the &quot;cluster-admin&quot; entry with additional args</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-credentials</span> <span class="hljs-string">cluster-admin </span><span class="hljs-built_in">--auth-provider=oidc</span> <span class="hljs-built_in">--auth-provider-arg=client-id=foo</span> <span class="hljs-built_in">--auth-provider-arg=client-secret=bar</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-credentials cluster-admin <span class="hljs-attribute">--auth-provider</span>=oidc <span class="hljs-attribute">--auth-provider-arg</span>=client-id=foo <span class="hljs-attribute">--auth-provider-arg</span>=client-secret=bar
</code></pre>
<blockquote class="code-block example">
<p> Remove the &quot;client-secret&quot; config value for the OpenID Connect auth provider for the &quot;cluster-admin&quot; entry</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">config </span><span class="hljs-built_in">set-credentials</span> <span class="hljs-string">cluster-admin </span><span class="hljs-built_in">--auth-provider=oidc</span> <span class="hljs-built_in">--auth-provider-arg=client-secret-</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>set-credentials cluster-admin <span class="hljs-attribute">--auth-provider</span>=oidc <span class="hljs-attribute">--auth-provider-arg</span>=client-secret-
</code></pre>
<p>Sets a user entry in kubeconfig </p>
<p>Specifying a name that already exists will merge new fields on top of existing values. </p>
@@ -7173,7 +7173,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Use the context for the minikube cluster</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-keyword">config</span> <span class="hljs-keyword">use</span>-<span class="hljs-keyword">context</span> minikube
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>use-context minikube
</code></pre>
<p>Sets the current-context in a kubeconfig file</p>
<h3 id="usage">Usage</h3>
@@ -7183,12 +7183,12 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Show Merged kubeconfig settings.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">config</span> view
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>view
</code></pre>
<blockquote class="code-block example">
<p> Get the password for the e2e user</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">config</span> view -o <span class="hljs-keyword">jsonpath='{.users[?(@.name </span>== <span class="hljs-string">"e2e"</span>)].user.password}<span class="hljs-string">'</span>
<pre class="code-block example"><code class="lang-shell">kubectl<span class="hljs-built_in"> config </span>view -o <span class="hljs-attribute">jsonpath</span>=<span class="hljs-string">'{.users[?(@.name == "e2e")].user.password}'</span>
</code></pre>
<p>Display merged kubeconfig settings or a specified kubeconfig file. </p>
<p>You can use --output jsonpath={...} to extract specific values using a jsonpath expression.</p>
@@ -7473,12 +7473,12 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Dump current cluster state to /path/to/cluster-state</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl cluster-info <span class="hljs-keyword">dump</span> --output-directory=<span class="hljs-regexp">/path/</span>to<span class="hljs-regexp">/cluster-state</span>
<pre class="code-block example"><code class="lang-shell">kubectl cluster-<span class="hljs-builtin-name">info</span> dump <span class="hljs-attribute">--output-directory</span>=/path/to/cluster-state
</code></pre>
<blockquote class="code-block example">
<p> Dump all namespaces to stdout</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-attribute">kubectl</span> cluster-<span class="hljs-literal">info</span> dump --all-namespaces
<pre class="code-block example"><code class="lang-shell">kubectl cluster-info <span class="hljs-built_in">dump</span> <span class="hljs-comment">--all-namespaces</span>
</code></pre>
<blockquote class="code-block example">
<p> Dump a set of namespaces to /path/to/cluster-state</p>
@@ -7531,7 +7531,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Replace a pod using the data in pod.json.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl replace <span class="hljs-_">-f</span> ./pod.json
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">replace</span> -f ./pod.json
</code></pre>
<blockquote class="code-block example">
<p> Replace a pod based on the JSON passed into stdin.</p>
@@ -7546,7 +7546,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Force replace, delete and then re-create the resource</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">replace</span> <span class="hljs-comment">--force -f ./pod.json</span>
<pre class="code-block example"><code class="lang-shell">kubectl replace <span class="hljs-params">--force</span> -f <span class="hljs-string">./pod.json</span>
</code></pre>
<p>Replace a resource by filename or stdin. </p>
<p>JSON and YAML formats are accepted. If replacing an existing resource, the complete resource spec must be provided. This can be obtained by </p>
@@ -7644,17 +7644,17 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Scale a replicaset named &#39;foo&#39; to 3.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-comment">--replicas=3 rs/foo</span>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-attribute">--replicas</span>=3 rs/foo
</code></pre>
<blockquote class="code-block example">
<p> Scale a resource identified by type and name specified in &quot;foo.yaml&quot; to 3.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-comment">--replicas=3 -f foo.yaml</span>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-attribute">--replicas</span>=3 -f foo.yaml
</code></pre>
<blockquote class="code-block example">
<p> If the deployment named mysql&#39;s current size is 2, scale mysql to 3.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-comment">kubectl</span> <span class="hljs-comment">scale</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">current</span><span class="hljs-literal">-</span><span class="hljs-comment">replicas=2</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">replicas=3</span> <span class="hljs-comment">deployment/mysql</span>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-attribute">--current-replicas</span>=2 <span class="hljs-attribute">--replicas</span>=3 deployment/mysql
</code></pre>
<blockquote class="code-block example">
<p> Scale multiple replication controllers.</p>
@@ -7664,7 +7664,7 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Scale job named &#39;cron&#39; to 3.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-comment">--replicas=3 job/cron</span>
<pre class="code-block example"><code class="lang-shell">kubectl scale <span class="hljs-attribute">--replicas</span>=3 job/cron
</code></pre>
<p>Set a new size for a Deployment, ReplicaSet, Replication Controller, or Job. </p>
<p>Scale also allows users to specify one or more preconditions for the scale action. </p>
@@ -7914,47 +7914,47 @@ source <span class="hljs-variable">$HOME</span>/.bash_profile</span>
<blockquote class="code-block example">
<p> Start a single instance of nginx.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> nginx <span class="hljs-comment">--image=nginx</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx
</code></pre>
<blockquote class="code-block example">
<p> Start a single instance of hazelcast and let the container expose port 5701 .</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> hazelcast <span class="hljs-comment">--image=hazelcast --port=5701</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> hazelcast <span class="hljs-attribute">--image</span>=hazelcast <span class="hljs-attribute">--port</span>=5701
</code></pre>
<blockquote class="code-block example">
<p> Start a single instance of hazelcast and set environment variables &quot;DNS_DOMAIN=cluster&quot; and &quot;POD_NAMESPACE=default&quot; in the container.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl run hazelcast --<span class="hljs-keyword">image</span>=hazelcast --<span class="hljs-keyword">env</span>=<span class="hljs-string">"DNS_DOMAIN=cluster"</span> --<span class="hljs-keyword">env</span>=<span class="hljs-string">"POD_NAMESPACE=default"</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> hazelcast <span class="hljs-attribute">--image</span>=hazelcast <span class="hljs-attribute">--env</span>=<span class="hljs-string">"DNS_DOMAIN=cluster"</span> <span class="hljs-attribute">--env</span>=<span class="hljs-string">"POD_NAMESPACE=default"</span>
</code></pre>
<blockquote class="code-block example">
<p> Start a replicated instance of nginx.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> nginx <span class="hljs-comment">--image=nginx --replicas=5</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx <span class="hljs-attribute">--replicas</span>=5
</code></pre>
<blockquote class="code-block example">
<p> Dry run. Print the corresponding API objects without creating them.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> nginx --<span class="hljs-built_in">image</span>=nginx --dry-<span class="hljs-built_in">run</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx --dry-run
</code></pre>
<blockquote class="code-block example">
<p> Start a single instance of nginx, but overload the spec of the deployment with a partial set of values parsed from JSON.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell"><span class="hljs-string">kubectl </span><span class="hljs-string">run </span><span class="hljs-string">nginx </span><span class="hljs-built_in">--image=nginx</span> <span class="hljs-built_in">--overrides='{</span> <span class="hljs-string">"apiVersion"</span>: <span class="hljs-string">"v1"</span>, <span class="hljs-string">"spec"</span>: { ... } }<span class="hljs-string">'</span>
<pre class="code-block example"><code class="lang-shell">kubectl run nginx <span class="hljs-params">--image=nginx</span> <span class="hljs-params">--overrides=</span>'{ <span class="hljs-string">"apiVersion"</span>: <span class="hljs-string">"v1"</span>, <span class="hljs-string">"spec"</span>: { <span class="hljs-string">...</span> } }'
</code></pre>
<blockquote class="code-block example">
<p> Start a pod of busybox and keep it in the foreground, don&#39;t restart it if it exits.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-built_in">run</span> -i -t busybox <span class="hljs-comment">--image=busybox --restart=Never</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> -i -t busybox <span class="hljs-attribute">--image</span>=busybox <span class="hljs-attribute">--restart</span>=Never
</code></pre>
<blockquote class="code-block example">
<p> Start the nginx container using the default command, but use custom arguments (arg1 .. argN) for that command.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl run nginx --image=nginx -- <span class="hljs-tag">&lt;<span class="hljs-name">arg1</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">arg2</span>&gt;</span> ... <span class="hljs-tag">&lt;<span class="hljs-name">argN</span>&gt;</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx -- &lt;arg1&gt; &lt;arg2&gt; <span class="hljs-built_in">..</span>. &lt;argN&gt;
</code></pre>
<blockquote class="code-block example">
<p> Start the nginx container using a different command and custom arguments.</p>
</blockquote>
<pre class="code-block example"><code class="lang-shell">kubectl run nginx --image=nginx --<span class="hljs-keyword">command</span> -- <span class="hljs-symbol">&lt;cmd&gt;</span> <span class="hljs-symbol">&lt;arg1&gt;</span> ... <span class="hljs-symbol">&lt;argN&gt;</span>
<pre class="code-block example"><code class="lang-shell">kubectl <span class="hljs-builtin-name">run</span> nginx <span class="hljs-attribute">--image</span>=nginx --command -- &lt;cmd&gt; &lt;arg1&gt; <span class="hljs-built_in">..</span>. &lt;argN&gt;
</code></pre>
<blockquote class="code-block example">
<p> Start the perl container to compute π to 2000 places and print it out.</p>
File diff suppressed because one or more lines are too long
+1 -2
View File
@@ -59,8 +59,7 @@ publishTask('ejs', ['build'], function () {
'package.json',
'ejs.js',
'ejs.min.js',
'lib/**',
'test/**'
'lib/**'
]);
});
+1
View File
@@ -4,6 +4,7 @@ Embedded JavaScript templates
[![Build Status](https://img.shields.io/travis/mde/ejs/master.svg?style=flat)](https://travis-ci.org/mde/ejs)
[![Developing Dependencies](https://img.shields.io/david/dev/mde/ejs.svg?style=flat)](https://david-dm.org/mde/ejs?type=dev)
[![Known Vulnerabilities](https://snyk.io/test/npm/ejs/badge.svg?style=flat-square)](https://snyk.io/test/npm/ejs)
## Installation
+73 -48
View File
@@ -122,16 +122,36 @@ exports.resolveInclude = function(name, filename, isDir) {
* @param {Options} options compilation options
* @return {String}
*/
function getIncludePath(path, options){
function getIncludePath(path, options) {
var includePath;
var filePath;
var views = options.views;
// Abs path
if (path.charAt(0) == '/') {
includePath = exports.resolveInclude(path.replace(/^\/*/,''), options.root || '/', true);
}
// Relative paths
else {
if (!options.filename) {
throw new Error('`include` use relative path requires the \'filename\' option.');
// Look relative to a passed filename first
if (options.filename) {
filePath = exports.resolveInclude(path, options.filename);
if (fs.existsSync(filePath)) {
includePath = filePath;
}
}
// Then look in any views directories
if (!includePath) {
if (Array.isArray(views) && views.some(function (v) {
filePath = exports.resolveInclude(path, v, true);
return fs.existsSync(filePath);
})) {
includePath = filePath;
}
}
if (!includePath) {
throw new Error('Could not find include include file.');
}
includePath = exports.resolveInclude(path, options.filename);
}
return includePath;
}
@@ -391,8 +411,13 @@ exports.renderFile = function () {
// in the data, copy them to options
if (arguments.length === 3) {
// Express 4
if (data.settings && data.settings['view options']) {
utils.shallowCopyFromList(opts, data.settings['view options'], _OPTS_EXPRESS);
if (data.settings) {
if (data.settings['view options']) {
utils.shallowCopyFromList(opts, data.settings['view options'], _OPTS_EXPRESS);
}
if (data.settings.views) {
opts.views = data.settings.views;
}
}
// Express 3 and lower
else {
@@ -443,6 +468,7 @@ function Template(text, opts) {
options.rmWhitespace = opts.rmWhitespace;
options.root = opts.root;
options.localsName = opts.localsName || exports.localsName || _DEFAULT_LOCALS_NAME;
options.views = opts.views;
if (options.strict) {
options._with = false;
@@ -506,10 +532,6 @@ Template.prototype = {
src = this.source;
}
if (opts.debug) {
console.log(src);
}
if (opts.client) {
src = 'escapeFn = escapeFn || ' + escapeFn.toString() + ';' + '\n' + src;
if (opts.compileDebug) {
@@ -520,6 +542,9 @@ Template.prototype = {
if (opts.strict) {
src = '"use strict";\n' + src;
}
if (opts.debug) {
console.log(src);
}
try {
fn = new Function(opts.localsName + ', escapeFn, include, rethrow', src);
@@ -612,7 +637,7 @@ Template.prototype = {
+ ' try {' + '\n'
+ includeObj.source
+ ' } catch (e) {' + '\n'
+ ' rethrow(e, __lines, __filename, __line);' + '\n'
+ ' rethrow(e, __lines, __filename, __line, escapeFn);' + '\n'
+ ' }' + '\n'
+ ' ; }).call(this)' + '\n';
}else{
@@ -658,43 +683,43 @@ Template.prototype = {
return arr;
},
_addOutput: function (line) {
if (this.truncate) {
// Only replace single leading linebreak in the line after
// -%> tag -- this is the single, trailing linebreak
// after the tag that the truncation mode replaces
// Handle Win / Unix / old Mac linebreaks -- do the \r\n
// combo first in the regex-or
line = line.replace(/^(?:\r\n|\r|\n)/, '');
this.truncate = false;
}
else if (this.opts.rmWhitespace) {
// rmWhitespace has already removed trailing spaces, just need
// to remove linebreaks
line = line.replace(/^\n/, '');
}
if (!line) {
return line;
}
// Preserve literal slashes
line = line.replace(/\\/g, '\\\\');
// Convert linebreaks
line = line.replace(/\n/g, '\\n');
line = line.replace(/\r/g, '\\r');
// Escape double-quotes
// - this will be the delimiter during execution
line = line.replace(/"/g, '\\"');
this.source += ' ; __append("' + line + '")' + '\n';
},
scanLine: function (line) {
var self = this;
var d = this.opts.delimiter;
var newLineCount = 0;
function _addOutput() {
if (self.truncate) {
// Only replace single leading linebreak in the line after
// -%> tag -- this is the single, trailing linebreak
// after the tag that the truncation mode replaces
// Handle Win / Unix / old Mac linebreaks -- do the \r\n
// combo first in the regex-or
line = line.replace(/^(?:\r\n|\r|\n)/, '');
self.truncate = false;
}
else if (self.opts.rmWhitespace) {
// rmWhitespace has already removed trailing spaces, just need
// to remove linebreaks
line = line.replace(/^\n/, '');
}
if (!line) {
return;
}
// Preserve literal slashes
line = line.replace(/\\/g, '\\\\');
// Convert linebreaks
line = line.replace(/\n/g, '\\n');
line = line.replace(/\r/g, '\\r');
// Escape double-quotes
// - this will be the delimiter during execution
line = line.replace(/"/g, '\\"');
self.source += ' ; __append("' + line + '")' + '\n';
}
newLineCount = (line.split('\n').length - 1);
switch (line) {
@@ -723,7 +748,7 @@ Template.prototype = {
case '-' + d + '>':
case '_' + d + '>':
if (this.mode == Template.modes.LITERAL) {
_addOutput();
this._addOutput(line);
}
this.mode = null;
@@ -759,13 +784,13 @@ Template.prototype = {
break;
// Literal <%% mode, append as raw output
case Template.modes.LITERAL:
_addOutput();
this._addOutput(line);
break;
}
}
// In string mode, just add the output
else {
_addOutput();
this._addOutput(line);
}
}
@@ -1428,7 +1453,7 @@ module.exports={
"engine",
"ejs"
],
"version": "2.5.5",
"version": "2.5.6",
"author": "Matthew Eernisse <mde@fleegix.org> (http://fleegix.org)",
"contributors": [
"Timothy Gu <timothygu99@gmail.com> (https://timothygu.github.io)"
@@ -1457,7 +1482,7 @@ module.exports={
"node": ">=0.10.0"
},
"scripts": {
"test": "mocha",
"test": "jake test",
"lint": "eslint \"**/*.js\" Jakefile",
"coverage": "istanbul cover node_modules/mocha/bin/_mocha",
"doc": "jake doc",
File diff suppressed because one or more lines are too long
+71 -46
View File
@@ -121,16 +121,36 @@ exports.resolveInclude = function(name, filename, isDir) {
* @param {Options} options compilation options
* @return {String}
*/
function getIncludePath(path, options){
function getIncludePath(path, options) {
var includePath;
var filePath;
var views = options.views;
// Abs path
if (path.charAt(0) == '/') {
includePath = exports.resolveInclude(path.replace(/^\/*/,''), options.root || '/', true);
}
// Relative paths
else {
if (!options.filename) {
throw new Error('`include` use relative path requires the \'filename\' option.');
// Look relative to a passed filename first
if (options.filename) {
filePath = exports.resolveInclude(path, options.filename);
if (fs.existsSync(filePath)) {
includePath = filePath;
}
}
// Then look in any views directories
if (!includePath) {
if (Array.isArray(views) && views.some(function (v) {
filePath = exports.resolveInclude(path, v, true);
return fs.existsSync(filePath);
})) {
includePath = filePath;
}
}
if (!includePath) {
throw new Error('Could not find include include file.');
}
includePath = exports.resolveInclude(path, options.filename);
}
return includePath;
}
@@ -390,8 +410,13 @@ exports.renderFile = function () {
// in the data, copy them to options
if (arguments.length === 3) {
// Express 4
if (data.settings && data.settings['view options']) {
utils.shallowCopyFromList(opts, data.settings['view options'], _OPTS_EXPRESS);
if (data.settings) {
if (data.settings['view options']) {
utils.shallowCopyFromList(opts, data.settings['view options'], _OPTS_EXPRESS);
}
if (data.settings.views) {
opts.views = data.settings.views;
}
}
// Express 3 and lower
else {
@@ -442,6 +467,7 @@ function Template(text, opts) {
options.rmWhitespace = opts.rmWhitespace;
options.root = opts.root;
options.localsName = opts.localsName || exports.localsName || _DEFAULT_LOCALS_NAME;
options.views = opts.views;
if (options.strict) {
options._with = false;
@@ -505,10 +531,6 @@ Template.prototype = {
src = this.source;
}
if (opts.debug) {
console.log(src);
}
if (opts.client) {
src = 'escapeFn = escapeFn || ' + escapeFn.toString() + ';' + '\n' + src;
if (opts.compileDebug) {
@@ -519,6 +541,9 @@ Template.prototype = {
if (opts.strict) {
src = '"use strict";\n' + src;
}
if (opts.debug) {
console.log(src);
}
try {
fn = new Function(opts.localsName + ', escapeFn, include, rethrow', src);
@@ -611,7 +636,7 @@ Template.prototype = {
+ ' try {' + '\n'
+ includeObj.source
+ ' } catch (e) {' + '\n'
+ ' rethrow(e, __lines, __filename, __line);' + '\n'
+ ' rethrow(e, __lines, __filename, __line, escapeFn);' + '\n'
+ ' }' + '\n'
+ ' ; }).call(this)' + '\n';
}else{
@@ -657,43 +682,43 @@ Template.prototype = {
return arr;
},
_addOutput: function (line) {
if (this.truncate) {
// Only replace single leading linebreak in the line after
// -%> tag -- this is the single, trailing linebreak
// after the tag that the truncation mode replaces
// Handle Win / Unix / old Mac linebreaks -- do the \r\n
// combo first in the regex-or
line = line.replace(/^(?:\r\n|\r|\n)/, '');
this.truncate = false;
}
else if (this.opts.rmWhitespace) {
// rmWhitespace has already removed trailing spaces, just need
// to remove linebreaks
line = line.replace(/^\n/, '');
}
if (!line) {
return line;
}
// Preserve literal slashes
line = line.replace(/\\/g, '\\\\');
// Convert linebreaks
line = line.replace(/\n/g, '\\n');
line = line.replace(/\r/g, '\\r');
// Escape double-quotes
// - this will be the delimiter during execution
line = line.replace(/"/g, '\\"');
this.source += ' ; __append("' + line + '")' + '\n';
},
scanLine: function (line) {
var self = this;
var d = this.opts.delimiter;
var newLineCount = 0;
function _addOutput() {
if (self.truncate) {
// Only replace single leading linebreak in the line after
// -%> tag -- this is the single, trailing linebreak
// after the tag that the truncation mode replaces
// Handle Win / Unix / old Mac linebreaks -- do the \r\n
// combo first in the regex-or
line = line.replace(/^(?:\r\n|\r|\n)/, '');
self.truncate = false;
}
else if (self.opts.rmWhitespace) {
// rmWhitespace has already removed trailing spaces, just need
// to remove linebreaks
line = line.replace(/^\n/, '');
}
if (!line) {
return;
}
// Preserve literal slashes
line = line.replace(/\\/g, '\\\\');
// Convert linebreaks
line = line.replace(/\n/g, '\\n');
line = line.replace(/\r/g, '\\r');
// Escape double-quotes
// - this will be the delimiter during execution
line = line.replace(/"/g, '\\"');
self.source += ' ; __append("' + line + '")' + '\n';
}
newLineCount = (line.split('\n').length - 1);
switch (line) {
@@ -722,7 +747,7 @@ Template.prototype = {
case '-' + d + '>':
case '_' + d + '>':
if (this.mode == Template.modes.LITERAL) {
_addOutput();
this._addOutput(line);
}
this.mode = null;
@@ -758,13 +783,13 @@ Template.prototype = {
break;
// Literal <%% mode, append as raw output
case Template.modes.LITERAL:
_addOutput();
this._addOutput(line);
break;
}
}
// In string mode, just add the output
else {
_addOutput();
this._addOutput(line);
}
}
+9 -9
View File
@@ -14,13 +14,13 @@
]
],
"_from": "ejs@>=2.5.2 <3.0.0",
"_id": "ejs@2.5.6",
"_id": "ejs@2.5.7",
"_inCache": true,
"_location": "/ejs",
"_nodeVersion": "6.9.1",
"_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com",
"tmp": "tmp/ejs-2.5.6.tgz_1487277787176_0.4875628533773124"
"host": "s3://npm-registry-packages",
"tmp": "tmp/ejs-2.5.7.tgz_1501385411193_0.3807816591579467"
},
"_npmUser": {
"name": "mde",
@@ -40,8 +40,8 @@
"_requiredBy": [
"#DEV:/"
],
"_resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.6.tgz",
"_shasum": "479636bfa3fe3b1debd52087f0acb204b4f19c88",
"_resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
"_shasum": "cc872c168880ae3c7189762fd5ffc00896c9518a",
"_shrinkwrap": null,
"_spec": "ejs@^2.5.2",
"_where": "/brodocs",
@@ -75,8 +75,8 @@
},
"directories": {},
"dist": {
"shasum": "479636bfa3fe3b1debd52087f0acb204b4f19c88",
"tarball": "https://registry.npmjs.org/ejs/-/ejs-2.5.6.tgz"
"shasum": "cc872c168880ae3c7189762fd5ffc00896c9518a",
"tarball": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -107,7 +107,7 @@
"devdoc": "jake doc[dev]",
"doc": "jake doc",
"lint": "eslint \"**/*.js\" Jakefile",
"test": "mocha"
"test": "jake test"
},
"version": "2.5.6"
"version": "2.5.7"
}
File diff suppressed because it is too large Load Diff
@@ -1 +0,0 @@
\foo
@@ -1 +0,0 @@
\foo
@@ -1,7 +0,0 @@
<li><a href="foo"><% // double-slash comment %>foo</li>
<li><a href="bar"><% /* C-style comment */ %>bar</li>
<li><a href="baz"><% // double-slash comment with newline
%>baz</li>
<li><a href="qux"><% var x = 'qux'; // double-slash comment @ end of line %><%= x %></li>
<li><a href="fee"><%# ERB style comment %>fee</li>
<li><a href="bah"><%= 'not a ' + '//' + ' comment' %></a></li>
@@ -1,6 +0,0 @@
<li><a href="foo">foo</li>
<li><a href="bar">bar</li>
<li><a href="baz">baz</li>
<li><a href="qux">qux</li>
<li><a href="fee">fee</li>
<li><a href="bah">not a // comment</a></li>
@@ -1 +0,0 @@
<% var a = 'foo' %><% var b = 'bar' %><%= a %>
@@ -1 +0,0 @@
foo
@@ -1 +0,0 @@
<p><%= "lo" + 'ki' %>'s "wheelchair"</p>
@@ -1 +0,0 @@
<p>loki's "wheelchair"</p>
@@ -1,5 +0,0 @@
<ul>
<% if (users) { %>
<p>Has users</p>
<% } %>
</ul>
@@ -1,8 +0,0 @@
ReferenceError: error.ejs:2
1| <ul>
>> 2| <% if (users) { %>
3| <p>Has users</p>
4| <% } %>
5| </ul>
users is not defined
-1
View File
@@ -1 +0,0 @@
<% function foo() return 'foo'; %>
@@ -1 +0,0 @@
<p>Hello world!</p>
@@ -1,5 +0,0 @@
<ul>
<@ pets.forEach(function(pet){ @>
<@- include(path.join(dir, 'pet'), {pet: pet}); @>
<@ }); @>
</ul>
@@ -1 +0,0 @@
<@- include('/include'); @>
@@ -1,3 +0,0 @@
<ul>
<%- include('hello-world'); %>
</ul>
@@ -1,4 +0,0 @@
<ul>
<p>Hello world!</p>
</ul>
@@ -1 +0,0 @@
<style><%- include('style.css', {value: 'bar'}); %></style>
@@ -1,4 +0,0 @@
<style>body {
foo: 'bar';
}
</style>
@@ -1,5 +0,0 @@
<ul>
<@ pets.forEach(function(pet){ @>
<@- include('pet', {pet: pet}); @>
<@ }); @>
</ul>
@@ -1,12 +0,0 @@
<ul>
<li>geddy</li>
<li>neil</li>
<li>alex</li>
</ul>
@@ -1 +0,0 @@
<%- include('../tmp/include') %>
@@ -1 +0,0 @@
<p>Old</p>
@@ -1 +0,0 @@
<style><% var value = 'bar' %><% include style.css %></style>
@@ -1,4 +0,0 @@
<style>body {
foo: 'bar';
}
</style>
@@ -1,5 +0,0 @@
<ul>
<@ pets.forEach(function(pet){ @>
<@ include pet @>
<@ }) @>
</ul>
@@ -1,12 +0,0 @@
<ul>
<li>geddy</li>
<li>neil</li>
<li>alex</li>
</ul>
@@ -1 +0,0 @@
<%- include ../tmp/include_preprocessor %>
@@ -1 +0,0 @@
<p>Old</p>
@@ -1 +0,0 @@
<% include include_preprocessor_line_slurp_child %>
@@ -1,5 +0,0 @@
<div>
12
3
45
</div>
@@ -1,5 +0,0 @@
<div>
1 <%_ if (true) { _%> 2
3
4 <%_ } _%> 5
</div>
@@ -1 +0,0 @@
<p>This is a file with BOM.</p>
@@ -1 +0,0 @@
<li><% include menu/item %></li>
@@ -1 +0,0 @@
<a href="/<%= url %>"><%= title %></a>
@@ -1,3 +0,0 @@
<pre>There should be a space followed by a less-than sign and then two more
spaces in the next line:
< .</pre>
@@ -1,3 +0,0 @@
<pre>There should be a space followed by a less-than sign and then two more
spaces in the next line:
< .</pre>
-15
View File
@@ -1,15 +0,0 @@
<%- include('includes/menu-item', {
url: '/foo'
, title: 'Foo'
}); -%>
<%- include('includes/menu-item', {
url: '/bar'
, title: 'Bar'
}); -%>
<%- include('includes/menu-item', {
url: '/baz'
, title: 'Baz'
}); -%>
@@ -1,9 +0,0 @@
<li><a href="//foo">Foo</a>
</li>
<li><a href="//bar">Bar</a>
</li>
<li><a href="//baz">Baz</a>
</li>
@@ -1,11 +0,0 @@
<% var url = '/foo' -%>
<% var title = 'Foo' -%>
<% include includes/menu-item -%>
<% var url = '/bar' -%>
<% var title = 'Bar' -%>
<% include includes/menu-item -%>
<% var url = '/baz' -%>
<% var title = 'Baz' -%>
<% include includes/menu-item -%>
@@ -1,8 +0,0 @@
<li><a href="//foo">Foo</a>
</li>
<li><a href="//bar">Bar</a>
</li>
<li><a href="//baz">Baz</a>
</li>
@@ -1,15 +0,0 @@
<%- include(varPath, {
url: '/foo'
, title: 'Foo'
}); -%>
<%- include(varPath, {
url: '/bar'
, title: 'Bar'
}); -%>
<%- include(varPath, {
url: '/baz'
, title: 'Baz'
}); -%>
@@ -1 +0,0 @@
<ul><%users.forEach(function(user){%><li><%=user.name%></li><%})%></ul>
@@ -1 +0,0 @@
<ul><li>geddy</li><li>neil</li><li>alex</li></ul>
@@ -1,5 +0,0 @@
<ul>
<% users.forEach(function(user){ %>
<li><%= user.name %></li>
<% }) %>
</ul>
@@ -1,9 +0,0 @@
<ul>
<li>geddy</li>
<li>neil</li>
<li>alex</li>
</ul>
@@ -1,6 +0,0 @@
<ul>
<% var unused1 = 'blah' -%>
<% var unused2 = 'bleh' %>
<% var unused3 = 'bloh' -%>
<% var unused4 = 'bluh' %>
</ul>
@@ -1,4 +0,0 @@
<ul>
</ul>
@@ -1,5 +0,0 @@
<ul>
<% users.forEach(function(user){ -%>
<li><%= user.name %></li>
<% }) -%>
</ul>
@@ -1,5 +0,0 @@
AAA
<% var data = "test"; -%>
BBB
<%= qdata %>
CCC
@@ -1,5 +0,0 @@
<ul>
<li>geddy</li>
<li>neil</li>
<li>alex</li>
</ul>
@@ -1,8 +0,0 @@
This document does not use semicolons in scriptlets.
<%
var a = 'b'
var b = 'c'
var c
c = b
%>
The value of c is: <%= c %>
@@ -1,3 +0,0 @@
This document does not use semicolons in scriptlets.
The value of c is: c
-1
View File
@@ -1 +0,0 @@
<p>hey</p>
-1
View File
@@ -1 +0,0 @@
<li><@= pet.name @></li>
@@ -1,14 +0,0 @@
<tag1>
<tag2>
A very long piece of text very long piece of text very long piece of
text very long piece <% var f = 'f' %>of text very long piece of
tex t very long piece of<% %>text very long
adsffadsfadsfad<%= f %>
piece of text.
<% var a = 'a' %>
Text again.
<% var b = 'b' %>
<% var c = 'c'
var d = 'd' %>
Another text. <%= c %>
@@ -1,8 +0,0 @@
<tag1>
<tag2>
A very long piece of text very long piece of text very long piece of
text very long piece of text very long piece of
text very long piece oftext very long
adsffadsfadsfadfpiece of text.
Text again.
Another text. c
@@ -1 +0,0 @@
<p><%= 'loki' %>'s wheelchair</p>
@@ -1 +0,0 @@
<p>loki's wheelchair</p>
@@ -1,5 +0,0 @@
<ul>
<%_ users.forEach(function(user){ _%>
<li><%= user.name %></li>
<%_ }) _%>
</ul>
@@ -1,5 +0,0 @@
<ul>
<li>geddy</li>
<li>neil</li>
<li>alex</li>
</ul>
@@ -1,5 +0,0 @@
<%
// Unspecified execution context should be `undefined` in strict mode
var isReallyStrict = !((function () { return this; })())
-%>
<%= isReallyStrict -%>
@@ -1,3 +0,0 @@
body {
foo: '<%= value %>';
}
@@ -1 +0,0 @@
<h1><$= locals.name $></h1>
-1
View File
@@ -1 +0,0 @@
<h1><$= name $></h1>
@@ -1 +0,0 @@
<%= this.foo %>
-3
View File
@@ -1,3 +0,0 @@
--ui tdd
--reporter spec
--check-leaks
-1
View File
@@ -1 +0,0 @@
<p>New</p>
@@ -1 +0,0 @@
<p>New</p>
@@ -1 +0,0 @@
<p>New</p>
@@ -380,6 +380,8 @@ Language names and aliases
+-------------------------+---------------------------------------------------+
| Scilab | scilab, sci |
+-------------------------+---------------------------------------------------+
| Shell | shell, console |
+-------------------------+---------------------------------------------------+
| Smali | smali |
+-------------------------+---------------------------------------------------+
| Smalltalk | smalltalk, st |
+3 -11
View File
@@ -51,19 +51,11 @@ https://highlightjs.org/
languages: undefined
};
// Object map that is used to escape some common HTML characters.
var escapeRegexMap = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;'
};
/* Utility functions */
function escape(value) {
return value.replace(/[&<>]/gm, function(character) {
return escapeRegexMap[character];
});
return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
}
function tag(node) {
@@ -180,7 +172,7 @@ https://highlightjs.org/
}
function open(node) {
function attr_str(a) {return ' ' + a.nodeName + '="' + escape(a.value) + '"';}
function attr_str(a) {return ' ' + a.nodeName + '="' + escape(a.value).replace('"', '&quot;') + '"';}
result += '<' + tag(node) + ArrayProto.map.call(node.attributes, attr_str).join('') + '>';
}
@@ -741,7 +733,7 @@ https://highlightjs.org/
contains: [hljs.BACKSLASH_ESCAPE]
};
hljs.PHRASAL_WORDS_MODE = {
begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/
begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
};
hljs.COMMENT = function (begin, end, inherits) {
var mode = hljs.inherit(
+4
View File
@@ -83,8 +83,10 @@ hljs.registerLanguage('ini', require('./languages/ini'));
hljs.registerLanguage('irpf90', require('./languages/irpf90'));
hljs.registerLanguage('java', require('./languages/java'));
hljs.registerLanguage('javascript', require('./languages/javascript'));
hljs.registerLanguage('jboss-cli', require('./languages/jboss-cli'));
hljs.registerLanguage('json', require('./languages/json'));
hljs.registerLanguage('julia', require('./languages/julia'));
hljs.registerLanguage('julia-repl', require('./languages/julia-repl'));
hljs.registerLanguage('kotlin', require('./languages/kotlin'));
hljs.registerLanguage('lasso', require('./languages/lasso'));
hljs.registerLanguage('ldif', require('./languages/ldif'));
@@ -134,6 +136,7 @@ hljs.registerLanguage('qml', require('./languages/qml'));
hljs.registerLanguage('r', require('./languages/r'));
hljs.registerLanguage('rib', require('./languages/rib'));
hljs.registerLanguage('roboconf', require('./languages/roboconf'));
hljs.registerLanguage('routeros', require('./languages/routeros'));
hljs.registerLanguage('rsl', require('./languages/rsl'));
hljs.registerLanguage('ruleslanguage', require('./languages/ruleslanguage'));
hljs.registerLanguage('rust', require('./languages/rust'));
@@ -141,6 +144,7 @@ hljs.registerLanguage('scala', require('./languages/scala'));
hljs.registerLanguage('scheme', require('./languages/scheme'));
hljs.registerLanguage('scilab', require('./languages/scilab'));
hljs.registerLanguage('scss', require('./languages/scss'));
hljs.registerLanguage('shell', require('./languages/shell'));
hljs.registerLanguage('smali', require('./languages/smali'));
hljs.registerLanguage('smalltalk', require('./languages/smalltalk'));
hljs.registerLanguage('sml', require('./languages/sml'));
+501 -70
View File
@@ -1,78 +1,509 @@
module.exports = function(hljs){
var IDENT_RE_RU = '[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*';
var OneS_KEYWORDS = 'возврат дата для если и или иначе иначеесли исключение конецесли ' +
'конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем ' +
'перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл ' +
'число экспорт';
var OneS_BUILT_IN = 'ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ' +
'ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос ' +
'восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц ' +
'датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации ' +
'запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр ' +
'значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера ' +
'имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы ' +
'кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби ' +
'конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс ' +
'максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ ' +
'назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби ' +
'началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели ' +
'номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки ' +
'основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально ' +
'отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята ' +
'получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта ' +
'получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации ' +
'пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц ' +
'разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына ' +
'рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп ' +
'сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить ' +
'стрколичествострок стрполучитьстроку стрчисловхождений сформироватьпозициюдокумента ' +
'счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты ' +
'установитьтана установитьтапо фиксшаблон формат цел шаблон';
var DQUOTE = {begin: '""'};
var STR_START = {
className: 'string',
begin: '"', end: '"|$',
contains: [DQUOTE]
};
var STR_CONT = {
// общий паттерн для определения идентификаторов
var UNDERSCORE_IDENT_RE = '[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+';
// v7 уникальные ключевые слова, отсутствующие в v8 ==> keyword
var v7_keywords =
'далее ';
// v8 ключевые слова ==> keyword
var v8_keywords =
'возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли ' +
'конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ';
// keyword : ключевые слова
var KEYWORD = v7_keywords + v8_keywords;
// v7 уникальные директивы, отсутствующие в v8 ==> meta-keyword
var v7_meta_keywords =
'загрузитьизфайла ';
// v8 ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях ==> meta-keyword
var v8_meta_keywords =
'вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер ' +
'наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед ' +
'после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ';
// meta-keyword : ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях
var METAKEYWORD = v7_meta_keywords + v8_meta_keywords;
// v7 системные константы ==> built_in
var v7_system_constants =
'разделительстраниц разделительстрок символтабуляции ';
// v7 уникальные методы глобального контекста, отсутствующие в v8 ==> built_in
var v7_global_context_methods =
'ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов ' +
'датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя ' +
'кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца ' +
'коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид ' +
'назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца ' +
'начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов ' +
'основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута ' +
'получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта ' +
'префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына ' +
'рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента ' +
'счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ';
// v8 методы глобального контекста ==> built_in
var v8_global_context_methods =
'acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока ' +
'xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ' +
'ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации ' +
'выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода ' +
'деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы ' +
'загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации ' +
'заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию ' +
'значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла ' +
'изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке ' +
'каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку ' +
'кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты ' +
'конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы ' +
'копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти ' +
'найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы ' +
'началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя ' +
'начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты ' +
'начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов ' +
'начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя ' +
'начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога ' +
'начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией ' +
'начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы ' +
'номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения ' +
'обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении ' +
'отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения ' +
'открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально ' +
'отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа ' +
'перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту ' +
'подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения ' +
'подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки ' +
'показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение ' +
'показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя ' +
'получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса ' +
'получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора ' +
'получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса ' +
'получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации ' +
'получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла ' +
'получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации ' +
'получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления ' +
'получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу ' +
'получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы ' +
'получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет ' +
'получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима ' +
'получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения ' +
'получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути ' +
'получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы ' +
'получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю ' +
'получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных ' +
'получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию ' +
'получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище ' +
'поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода ' +
'представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение ' +
'прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока ' +
'рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных ' +
'раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени ' +
'смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить ' +
'состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс ' +
'строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений '+
'стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах ' +
'текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации ' +
'текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы ' +
'удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим ' +
'установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту ' +
'установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных ' +
'установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации ' +
'установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения ' +
'установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования ' +
'установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима ' +
'установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим ' +
'установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией ' +
'установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы ' +
'установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса ' +
'формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ';
// v8 свойства глобального контекста ==> built_in
var v8_global_context_property =
'wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы ' +
'внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль ' +
'документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты ' +
'историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений ' +
'отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик ' +
'планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок ' +
'рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений ' +
'регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа ' +
'средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек ' +
'хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков ' +
'хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ';
// built_in : встроенные или библиотечные объекты (константы, классы, функции)
var BUILTIN =
v7_system_constants +
v7_global_context_methods + v8_global_context_methods +
v8_global_context_property;
// v8 системные наборы значений ==> class
var v8_system_sets_of_values =
'webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ';
// v8 системные перечисления - интерфейсные ==> class
var v8_system_enums_interface =
'автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий ' +
'анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы ' +
'вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы ' +
'виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя ' +
'видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение ' +
'горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы ' +
'группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания ' +
'интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки ' +
'используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы ' +
'источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева ' +
'начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ' +
'ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме ' +
'отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы ' +
'отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы ' +
'отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы ' +
'отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска ' +
'отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования ' +
'отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта ' +
'отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы ' +
'поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы ' +
'поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы ' +
'положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы ' +
'положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы ' +
'положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском ' +
'положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы ' +
'размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта ' +
'режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты ' +
'режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения ' +
'режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра ' +
'режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения ' +
'режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы ' +
'режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки ' +
'режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание ' +
'сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы ' +
'способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление ' +
'статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы ' +
'типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы ' +
'типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления ' +
'типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы ' +
'типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы ' +
'типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений ' +
'типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы ' +
'типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы ' +
'типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы ' +
'факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени ' +
'форматкартинки ширинаподчиненныхэлементовформы ';
// v8 системные перечисления - свойства прикладных объектов ==> class
var v8_system_enums_objects_properties =
'виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса ' +
'использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения ' +
'использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ';
// v8 системные перечисления - планы обмена ==> class
var v8_system_enums_exchange_plans =
'авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ';
// v8 системные перечисления - табличный документ ==> class
var v8_system_enums_tabular_document =
'использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы ' +
'положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента ' +
'способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента ' +
'типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента ' +
'типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы ' +
'типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента ' +
'типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ';
// v8 системные перечисления - планировщик ==> class
var v8_system_enums_sheduler =
'отображениевремениэлементовпланировщика ';
// v8 системные перечисления - форматированный документ ==> class
var v8_system_enums_formatted_document =
'типфайлаформатированногодокумента ';
// v8 системные перечисления - запрос ==> class
var v8_system_enums_query =
'обходрезультатазапроса типзаписизапроса ';
// v8 системные перечисления - построитель отчета ==> class
var v8_system_enums_report_builder =
'видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ';
// v8 системные перечисления - работа с файлами ==> class
var v8_system_enums_files =
'доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ';
// v8 системные перечисления - построитель запроса ==> class
var v8_system_enums_query_builder =
'типизмеренияпостроителязапроса ';
// v8 системные перечисления - анализ данных ==> class
var v8_system_enums_data_analysis =
'видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных ' +
'типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений ' +
'типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций ' +
'типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных ' +
'типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных ' +
'типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ';
// v8 системные перечисления - xml, json, xs, dom, xdto, web-сервисы ==> class
var v8_system_enums_xml_json_xs_dom_xdto_ws =
'wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto ' +
'действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs ' +
'исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs ' +
'методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ' +
'ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson ' +
'типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs ' +
'форматдатыjson экранированиесимволовjson ';
// v8 системные перечисления - система компоновки данных ==> class
var v8_system_enums_data_composition_system =
'видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных ' +
'расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных ' +
'расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных ' +
'расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных ' +
'типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных ' +
'типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных ' +
'типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных ' +
'расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных ' +
'режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных ' +
'режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных '+
'вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных ' +
'использованиеусловногооформлениякомпоновкиданных ';
// v8 системные перечисления - почта ==> class
var v8_system_enums_email =
'важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения ' +
'способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты ' +
'статусразборапочтовогосообщения ';
// v8 системные перечисления - журнал регистрации ==> class
var v8_system_enums_logbook =
'режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ';
// v8 системные перечисления - криптография ==> class
var v8_system_enums_cryptography =
'расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии ' +
'типхранилищасертификатовкриптографии ';
// v8 системные перечисления - ZIP ==> class
var v8_system_enums_zip =
'кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip ' +
'режимсохраненияпутейzip уровеньсжатияzip ';
// v8 системные перечисления -
// Блокировка данных, Фоновые задания, Автоматизированное тестирование,
// Доставляемые уведомления, Встроенные покупки, Интернет, Работа с двоичными данными ==> class
var v8_system_enums_other =
'звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных ' +
'сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ';
// v8 системные перечисления - схема запроса ==> class
var v8_system_enums_request_schema =
'направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса ' +
'типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ';
// v8 системные перечисления - свойства объектов метаданных ==> class
var v8_system_enums_properties_of_metadata_objects =
'httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления ' +
'видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование ' +
'использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения ' +
'использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита ' +
'назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных ' +
'оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи ' +
'основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении ' +
'периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений ' +
'повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение ' +
'разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита '+
'режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности ' +
'режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов ' +
'режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса ' +
'режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов ' +
'сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования ' +
'типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса ' +
'типномерадокумента типномеразадачи типформы удалениедвижений ';
// v8 системные перечисления - разные ==> class
var v8_system_enums_differents =
'важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения ' +
'вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки ' +
'видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак ' +
'использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога ' +
'кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных ' +
'отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения ' +
'режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных ' +
'способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter ' +
'типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты';
// class: встроенные наборы значений, системные перечисления (содержат дочерние значения, обращения к которым через разыменование)
var CLASS =
v8_system_sets_of_values +
v8_system_enums_interface +
v8_system_enums_objects_properties +
v8_system_enums_exchange_plans +
v8_system_enums_tabular_document +
v8_system_enums_sheduler +
v8_system_enums_formatted_document +
v8_system_enums_query +
v8_system_enums_report_builder +
v8_system_enums_files +
v8_system_enums_query_builder +
v8_system_enums_data_analysis +
v8_system_enums_xml_json_xs_dom_xdto_ws +
v8_system_enums_data_composition_system +
v8_system_enums_email +
v8_system_enums_logbook +
v8_system_enums_cryptography +
v8_system_enums_zip +
v8_system_enums_other +
v8_system_enums_request_schema +
v8_system_enums_properties_of_metadata_objects +
v8_system_enums_differents;
// v8 общие объекты (у объектов есть конструктор, экземпляры создаются методом НОВЫЙ) ==> type
var v8_shared_object =
'comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs ' +
'блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема ' +
'географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма ' +
'диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания ' +
'диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление ' +
'записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom ' +
'запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта ' +
'интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs ' +
'использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных ' +
'итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла ' +
'компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных ' +
'конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных ' +
'макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson ' +
'обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs ' +
'объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации ' +
'описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных ' +
'описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs ' +
'определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom ' +
'определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных ' +
'параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных ' +
'полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных ' +
'построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml ' +
'процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент ' +
'процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml ' +
'результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto ' +
'сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows ' +
'сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш ' +
'сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент ' +
'текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток ' +
'фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs ' +
'фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs ' +
'фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs ' +
'фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент ' +
'фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла ' +
'чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ';
// v8 универсальные коллекции значений ==> type
var v8_universal_collection =
'comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура ' +
'фиксированноесоответствие фиксированныймассив ';
// type : встроенные типы
var TYPE =
v8_shared_object +
v8_universal_collection;
// literal : примитивные типы
var LITERAL = 'null истина ложь неопределено';
// number : числа
var NUMBERS = hljs.inherit(hljs.NUMBER_MODE);
// string : строки
var STRINGS = {
className: 'string',
begin: '\\|', end: '"|$',
contains: [DQUOTE]
begin: '"|\\|', end: '"|$',
contains: [{begin: '""'}]
};
// number : даты
var DATE = {
begin: "'", end: "'", excludeBegin: true, excludeEnd: true,
contains: [
{
className: 'number',
begin: '\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}'
}
]
};
// comment : комментарии
var COMMENTS = hljs.inherit(hljs.C_LINE_COMMENT_MODE);
// meta : инструкции препроцессора, директивы компиляции
var META = {
className: 'meta',
lexemes: UNDERSCORE_IDENT_RE,
begin: '#|&', end: '$',
keywords: {'meta-keyword': KEYWORD + METAKEYWORD},
contains: [
COMMENTS
]
};
// symbol : метка goto
var SYMBOL = {
className: 'symbol',
begin: '~', end: ';|:', excludeEnd: true
};
// function : объявление процедур и функций
var FUNCTION = {
className: 'function',
lexemes: UNDERSCORE_IDENT_RE,
variants: [
{begin: 'процедура|функция', end: '\\)', keywords: 'процедура функция'},
{begin: 'конецпроцедуры|конецфункции', keywords: 'конецпроцедуры конецфункции'}
],
contains: [
{
begin: '\\(', end: '\\)', endsParent : true,
contains: [
{
className: 'params',
lexemes: UNDERSCORE_IDENT_RE,
begin: UNDERSCORE_IDENT_RE, end: ',', excludeEnd: true, endsWithParent: true,
keywords: {
keyword: 'знач',
literal: LITERAL
},
contains: [
NUMBERS,
STRINGS,
DATE
]
},
COMMENTS
]
},
hljs.inherit(hljs.TITLE_MODE, {begin: UNDERSCORE_IDENT_RE})
]
};
return {
case_insensitive: true,
lexemes: IDENT_RE_RU,
keywords: {keyword: OneS_KEYWORDS, built_in: OneS_BUILT_IN},
lexemes: UNDERSCORE_IDENT_RE,
keywords: {
keyword: KEYWORD,
built_in: BUILTIN,
class: CLASS,
type: TYPE,
literal: LITERAL
},
contains: [
hljs.C_LINE_COMMENT_MODE,
hljs.NUMBER_MODE,
STR_START, STR_CONT,
{
className: 'function',
begin: '(процедура|функция)', end: '$',
lexemes: IDENT_RE_RU,
keywords: 'процедура функция',
contains: [
{
begin: 'экспорт', endsWithParent: true,
lexemes: IDENT_RE_RU,
keywords: 'экспорт',
contains: [hljs.C_LINE_COMMENT_MODE]
},
{
className: 'params',
begin: '\\(', end: '\\)',
lexemes: IDENT_RE_RU,
keywords: 'знач',
contains: [STR_START, STR_CONT]
},
hljs.C_LINE_COMMENT_MODE,
hljs.inherit(hljs.TITLE_MODE, {begin: IDENT_RE_RU})
]
},
{className: 'meta', begin: '#', end: '$'},
{className: 'number', begin: '\'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})\''} // date
]
};
META,
FUNCTION,
COMMENTS,
SYMBOL,
NUMBERS,
STRINGS,
DATE
]
}
};
@@ -91,7 +91,8 @@ module.exports = function (hljs) {
contains : [
{
begin : hljs.UNDERSCORE_IDENT_RE + '\\s*\\(',
keywords : KEYWORDS + ' ' + SHORTKEYS
keywords : KEYWORDS + ' ' + SHORTKEYS,
relevance: 0
},
hljs.QUOTE_STRING_MODE
]
@@ -1,12 +1,13 @@
module.exports = function(hljs) {
var BACKTICK_ESCAPE = {
begin: /`[\s\S]/
begin: '`[\\s\\S]'
};
return {
case_insensitive: true,
aliases: [ 'ahk' ],
keywords: {
keyword: 'Break Continue Else Gosub If Loop Return While',
keyword: 'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group',
literal: 'A|0 true false NOT AND OR',
built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel',
},
@@ -18,16 +19,26 @@ module.exports = function(hljs) {
BACKTICK_ESCAPE,
hljs.inherit(hljs.QUOTE_STRING_MODE, {contains: [BACKTICK_ESCAPE]}),
hljs.COMMENT(';', '$', {relevance: 0}),
hljs.C_BLOCK_COMMENT_MODE,
{
className: 'number',
begin: hljs.NUMBER_RE,
relevance: 0
},
{
className: 'variable', // FIXME
begin: '%', end: '%',
illegal: '\\n',
contains: [BACKTICK_ESCAPE]
className: 'subst', // FIXED
begin: '%(?=[a-zA-Z0-9#_$@])', end: '%',
illegal: '[^a-zA-Z0-9#_$@]'
},
{
className: 'built_in',
begin: '^\\s*\\w+\\s*,'
//I don't really know if this is totally relevant
},
{
className: 'meta',
begin: '^\\s*#\w+', end:'$',
relevance: 0
},
{
className: 'symbol',
@@ -26,7 +26,7 @@ module.exports = function(hljs) {
return {
aliases: ['sh', 'zsh'],
lexemes: /-?[a-z\._]+/,
lexemes: /\b-?[a-z\._]+\b/,
keywords: {
keyword:
'if then else elif fi for while in do done case esac function',
@@ -85,6 +85,7 @@ module.exports = function(hljs) {
LIST.contains = [hljs.COMMENT('comment', ''), NAME, BODY];
BODY.contains = DEFAULT_CONTAINS;
COLLECTION.contains = DEFAULT_CONTAINS;
HINT_COL.contains = [COLLECTION];
return {
aliases: ['clj'],
@@ -27,7 +27,7 @@ module.exports = function(hljs) {
className: 'number',
variants: [
{ begin: '\\b(0b[01\']+)' },
{ begin: '\\b([\\d\']+(\\.[\\d\']*)?|\\.[\\d\']+)(u|U|l|L|ul|UL|f|F|b|B)' },
{ begin: '(-?)\\b([\\d\']+(\\.[\\d\']*)?|\\.[\\d\']+)(u|U|l|L|ul|UL|f|F|b|B)' },
{ begin: '(-?)(\\b0[xX][a-fA-F0-9\']+|(\\b[\\d\']+(\\.[\\d\']*)?|\\.[\\d\']+)([eE][-+]?[\\d\']+)?)' }
],
relevance: 0
@@ -60,15 +60,16 @@ module.exports = function(hljs) {
var CPP_KEYWORDS = {
keyword: 'int float while private char catch import module export virtual operator sizeof ' +
'dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace ' +
'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +
'unsigned long volatile static protected bool template mutable if public friend ' +
'do goto auto void enum else break extern using class asm case typeid ' +
'do goto auto void enum else break extern using asm case typeid ' +
'short reinterpret_cast|10 default double register explicit signed typename try this ' +
'switch continue inline delete alignof constexpr decltype ' +
'noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary ' +
'atomic_bool atomic_char atomic_schar ' +
'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +
'atomic_ullong new throw return',
'atomic_ullong new throw return ' +
'and or not',
built_in: 'std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream ' +
'auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set ' +
'unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos ' +
@@ -154,6 +155,14 @@ module.exports = function(hljs) {
hljs.C_BLOCK_COMMENT_MODE,
PREPROCESSOR
]
},
{
className: 'class',
beginKeywords: 'class struct', end: /[{;:]/,
contains: [
{begin: /</, end: />/, contains: ['self']}, // skip generic stuff
hljs.TITLE_MODE
]
}
]),
exports: {
@@ -6,10 +6,10 @@ module.exports = function(hljs) {
var CRYSTAL_METHOD_RE = '[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\][=?]?';
var CRYSTAL_KEYWORDS = {
keyword:
'abstract alias as asm begin break case class def do else elsif end ensure enum extend for fun if ifdef ' +
'include instance_sizeof is_a? lib macro module next of out pointerof private protected rescue responds_to? ' +
'return require self sizeof struct super then type typeof union unless until when while with yield ' +
'__DIR__ __FILE__ __LINE__',
'abstract alias as as? asm begin break case class def do else elsif end ensure enum extend for fun if ' +
'include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? ' +
'return require select self sizeof struct super then type typeof union uninitialized unless until when while with yield ' +
'__DIR__ __END_LINE__ __FILE__ __LINE__',
literal: 'false nil true'
};
var SUBST = {
@@ -47,6 +47,22 @@ module.exports = function(hljs) {
{begin: '%w?%', end: '%'},
{begin: '%w?-', end: '-'},
{begin: '%w?\\|', end: '\\|'},
{begin: /<<-\w+$/, end: /^\s*\w+$/},
],
relevance: 0,
};
var Q_STRING = {
className: 'string',
variants: [
{begin: '%q\\(', end: '\\)', contains: recursiveParen('\\(', '\\)')},
{begin: '%q\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')},
{begin: '%q{', end: '}', contains: recursiveParen('{', '}')},
{begin: '%q<', end: '>', contains: recursiveParen('<', '>')},
{begin: '%q/', end: '/'},
{begin: '%q%', end: '%'},
{begin: '%q-', end: '-'},
{begin: '%q\\|', end: '\\|'},
{begin: /<<-'\w+'$/, end: /^\s*\w+$/},
],
relevance: 0,
};
@@ -97,6 +113,7 @@ module.exports = function(hljs) {
var CRYSTAL_DEFAULT_CONTAINS = [
EXPANSION,
STRING,
Q_STRING,
REGEXP,
REGEXP2,
ATTRIBUTE,
+17 -7
View File
@@ -3,12 +3,11 @@ module.exports = function(hljs) {
keyword:
// Normal keywords.
'abstract as base bool break byte case catch char checked const continue decimal ' +
'default delegate do double else enum event explicit extern finally fixed float ' +
'for foreach goto if implicit in int interface internal is lock long ' +
'default delegate do double enum event explicit extern finally fixed float ' +
'for foreach goto if implicit in int interface internal is lock long nameof ' +
'object operator out override params private protected public readonly ref sbyte ' +
'sealed short sizeof stackalloc static string struct switch this try typeof ' +
'uint ulong unchecked unsafe ushort using virtual void volatile while ' +
'nameof ' +
// Contextual keywords.
'add alias ascending async await by descending dynamic equals from get global group into join ' +
'let on orderby partial remove select set value var where yield',
@@ -72,6 +71,7 @@ module.exports = function(hljs) {
};
var TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\s*,\\s*' + hljs.IDENT_RE + ')*>)?(\\[\\])?';
return {
aliases: ['csharp'],
keywords: KEYWORDS,
@@ -105,7 +105,9 @@ module.exports = function(hljs) {
{
className: 'meta',
begin: '#', end: '$',
keywords: {'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'}
keywords: {
'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'
}
},
STRING,
hljs.C_NUMBER_MODE,
@@ -127,16 +129,24 @@ module.exports = function(hljs) {
hljs.C_BLOCK_COMMENT_MODE
]
},
{
// [Attributes("")]
className: 'meta',
begin: '^\\s*\\[', excludeBegin: true, end: '\\]', excludeEnd: true,
contains: [
{className: 'meta-string', begin: /"/, end: /"/}
]
},
{
// Expression keywords prevent 'keyword Name(...)' from being
// recognized as a function definition
beginKeywords: 'new return throw await',
beginKeywords: 'new return throw await else',
relevance: 0
},
{
className: 'function',
begin: '(' + TYPE_IDENT_RE + '\\s+)+' + hljs.IDENT_RE + '\\s*\\(', returnBegin: true, end: /[{;=]/,
excludeEnd: true,
begin: '(' + TYPE_IDENT_RE + '\\s+)+' + hljs.IDENT_RE + '\\s*\\(', returnBegin: true,
end: /[{;=]/, excludeEnd: true,
keywords: KEYWORDS,
contains: [
{
@@ -2,14 +2,14 @@ module.exports = function(hljs) {
return {
aliases: ['docker'],
case_insensitive: true,
keywords: 'from maintainer expose env user onbuild',
keywords: 'from maintainer expose env arg user onbuild stopsignal',
contains: [
hljs.HASH_COMMENT_MODE,
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE,
hljs.NUMBER_MODE,
{
beginKeywords: 'run cmd entrypoint volume add copy workdir label healthcheck',
beginKeywords: 'run cmd entrypoint volume add copy workdir label healthcheck shell',
starts: {
end: /[^\\]\n/,
subLanguage: 'bash'
@@ -77,6 +77,7 @@ module.exports = function(hljs) {
COMMENT,
{begin: '->|<-'} // No markup, relevance booster
]
],
illegal: /;/
};
};
@@ -140,7 +140,7 @@ module.exports = function (hljs) {
contains: [
{ // Function title
className: 'title',
begin: /^[a-z][a-z0-9_]+/,
begin: /^[a-z0-9_]+/,
},
PARAMS,
SYMBOLS,
@@ -7,7 +7,7 @@ module.exports = function(hljs) {
return {
aliases: ['hx'],
keywords: {
keyword: 'break callback case cast catch continue default do dynamic else enum extern ' +
keyword: 'break case cast catch continue default do dynamic else enum extern ' +
'for function here if import in inline never new override package private get set ' +
'public return static super switch this throw trace try typedef untyped using var while ' +
HAXE_BASIC_TYPES,
@@ -0,0 +1,46 @@
module.exports = function (hljs) {
var PARAM = {
begin: /[\w-]+ *=/, returnBegin: true,
relevance: 0,
contains: [{className: 'attr', begin: /[\w-]+/}]
};
var PARAMSBLOCK = {
className: 'params',
begin: /\(/,
end: /\)/,
contains: [PARAM],
relevance : 0
};
var OPERATION = {
className: 'function',
begin: /:[\w\-.]+/,
relevance: 0
};
var PATH = {
className: 'string',
begin: /\B(([\/.])[\w\-.\/=]+)+/,
};
var COMMAND_PARAMS = {
className: 'params',
begin: /--[\w\-=\/]+/,
};
return {
aliases: ['wildfly-cli'],
lexemes: '[a-z\-]+',
keywords: {
keyword: 'alias batch cd clear command connect connection-factory connection-info data-source deploy ' +
'deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls ' +
'patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias ' +
'undeploy unset version xa-data-source', // module
literal: 'true false'
},
contains: [
hljs.HASH_COMMENT_MODE,
hljs.QUOTE_STRING_MODE,
COMMAND_PARAMS,
OPERATION,
PATH,
PARAMSBLOCK
]
}
};
@@ -0,0 +1,23 @@
module.exports = function(hljs) {
return {
contains: [
{
className: 'meta',
begin: /^julia>/,
relevance: 10,
starts: {
// end the highlighting if we are on a new line and the line does not have at
// least six spaces in the beginning
end: /^(?![ ]{6})/,
subLanguage: 'julia'
},
// jldoctest Markdown blocks are used in the Julia manual and package docs indicate
// code snippets that should be verified when the documentation is built. They can be
// either REPL-like or script-like, but are usually REPL-like and therefore we apply
// julia-repl highlighting to them. More information can be found in Documenter's
// manual: https://juliadocs.github.io/Documenter.jl/latest/man/doctests.html
aliases: ['jldoctest']
}
]
}
};
@@ -1,104 +1,84 @@
module.exports = function(hljs) {
// Since there are numerous special names in Julia, it is too much trouble
// to maintain them by hand. Hence these names (i.e. keywords, literals and
// built-ins) are automatically generated from Julia (v0.3.0 and v0.4.1)
// itself through following scripts for each.
// built-ins) are automatically generated from Julia v0.6 itself through
// the following scripts for each.
var KEYWORDS = {
// # keyword generator
// println("in")
// # keyword generator, multi-word keywords handled manually below
// foreach(println, ["in", "isa", "where"])
// for kw in Base.REPLCompletions.complete_keyword("")
// println(kw)
// if !(contains(kw, " ") || kw == "struct")
// println(kw)
// end
// end
keyword:
'in abstract baremodule begin bitstype break catch ccall const continue do else elseif end export ' +
'finally for function global if immutable import importall let local macro module quote return try type ' +
'typealias using while',
'in isa where ' +
'baremodule begin break catch ccall const continue do else elseif end export false finally for function ' +
'global if import importall let local macro module quote return true try using while ' +
// legacy, to be deprecated in the next release
'type immutable abstract bitstype typealias ',
// # literal generator
// println("true")
// println("false")
// for name in Base.REPLCompletions.completions("", 0)[1]
// try
// s = symbol(name)
// v = eval(s)
// if !isa(v, Function) &&
// !isa(v, DataType) &&
// !isa(v, IntrinsicFunction) &&
// !issubtype(typeof(v), Tuple) &&
// !isa(v, Union) &&
// !isa(v, Module) &&
// !isa(v, TypeConstructor) &&
// !isa(v, TypeVar) &&
// !isa(v, Colon)
// v = eval(Symbol(name))
// if !(v isa Function || v isa Type || v isa TypeVar || v isa Module || v isa Colon)
// println(name)
// end
// end
// end
literal:
// v0.3
'true false ARGS CPU_CORES C_NULL DL_LOAD_PATH DevNull ENDIAN_BOM ENV I|0 Inf Inf16 Inf32 ' +
'InsertionSort JULIA_HOME LOAD_PATH MS_ASYNC MS_INVALIDATE MS_SYNC MergeSort NaN NaN16 NaN32 OS_NAME QuickSort ' +
'RTLD_DEEPBIND RTLD_FIRST RTLD_GLOBAL RTLD_LAZY RTLD_LOCAL RTLD_NODELETE RTLD_NOLOAD RTLD_NOW RoundDown ' +
'RoundFromZero RoundNearest RoundToZero RoundUp STDERR STDIN STDOUT VERSION WORD_SIZE catalan cglobal e|0 eu|0 ' +
'eulergamma golden im nothing pi γ π φ ' +
// v0.4 (diff)
'Inf64 NaN64 RoundNearestTiesAway RoundNearestTiesUp ',
'true false ' +
'ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort ' +
'NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway ' +
'RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im ' +
'nothing pi γ π φ ',
// # built_in generator:
// for name in Base.REPLCompletions.completions("", 0)[1]
// try
// v = eval(symbol(name))
// if isa(v, DataType) || isa(v, TypeConstructor) || isa(v, TypeVar)
// v = eval(Symbol(name))
// if v isa Type || v isa TypeVar
// println(name)
// end
// end
// end
built_in:
// v0.3
'ANY ASCIIString AbstractArray AbstractRNG AbstractSparseArray Any ArgumentError Array Associative Base64Pipe ' +
'Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError Box CFILE Cchar Cdouble Cfloat Char ' +
'CharString Cint Clong Clonglong ClusterManager Cmd Coff_t Colon Complex Complex128 Complex32 Complex64 ' +
'Condition Cptrdiff_t Cshort Csize_t Cssize_t Cuchar Cuint Culong Culonglong Cushort Cwchar_t DArray DataType ' +
'DenseArray Diagonal Dict DimensionMismatch DirectIndexString Display DivideError DomainError EOFError ' +
'EachLine Enumerate ErrorException Exception Expr Factorization FileMonitor FileOffset Filter Float16 Float32 ' +
'Float64 FloatRange FloatingPoint Function GetfieldNode GotoNode Hermitian IO IOBuffer IOStream IPv4 IPv6 ' +
'InexactError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException IntrinsicFunction KeyError ' +
'LabelNode LambdaStaticData LineNumberNode LoadError LocalProcess MIME MathConst MemoryError MersenneTwister ' +
'Method MethodError MethodTable Module NTuple NewvarNode Nothing Number ObjectIdDict OrdinalRange ' +
'OverflowError ParseError PollingFileWatcher ProcessExitedException ProcessGroup Ptr QuoteNode Range Range1 ' +
'Ranges Rational RawFD Real Regex RegexMatch RemoteRef RepString RevString RopeString RoundingMode Set ' +
'SharedArray Signed SparseMatrixCSC StackOverflowError Stat StatStruct StepRange String SubArray SubString ' +
'SymTridiagonal Symbol SymbolNode Symmetric SystemError Task TextDisplay Timer TmStruct TopNode Triangular ' +
'Tridiagonal Type TypeConstructor TypeError TypeName TypeVar UTF16String UTF32String UTF8String UdpSocket ' +
'Uint Uint128 Uint16 Uint32 Uint64 Uint8 UndefRefError UndefVarError UniformScaling UnionType UnitRange ' +
'Unsigned Vararg VersionNumber WString WeakKeyDict WeakRef Woodbury Zip ' +
// v0.4 (diff)
'AbstractChannel AbstractFloat AbstractString AssertionError Base64DecodePipe Base64EncodePipe BufferStream ' +
'CapturedException CartesianIndex CartesianRange Channel Cintmax_t CompositeException Cstring Cuintmax_t ' +
'Cwstring Date DateTime Dims Enum GenSym GlobalRef HTML InitError InvalidStateException Irrational LinSpace ' +
'LowerTriangular NullException Nullable OutOfMemoryError Pair PartialQuickSort Pipe RandomDevice ' +
'ReadOnlyMemoryError ReentrantLock Ref RemoteException SegmentationFault SerializationState SimpleVector ' +
'TCPSocket Text Tuple UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UnicodeError Union UpperTriangular ' +
'Val Void WorkerConfig AbstractMatrix AbstractSparseMatrix AbstractSparseVector AbstractVecOrMat AbstractVector ' +
'DenseMatrix DenseVecOrMat DenseVector Matrix SharedMatrix SharedVector StridedArray StridedMatrix ' +
'StridedVecOrMat StridedVector VecOrMat Vector '
'ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet ' +
'AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat ' +
'AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal '+
'BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException ' +
'CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager ' +
'Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ' +
'ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t ' +
'Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict ' +
'DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ' +
'ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function ' +
'Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear ' +
'IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException ' +
'InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix ' +
'MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict ' +
'OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe ' +
'PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ' +
'ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode ' +
'RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed ' +
'SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange ' +
'StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal ' +
'Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry ' +
'TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError ' +
'UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector ' +
'VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool '
};
// ref: http://julia.readthedocs.org/en/latest/manual/variables/#allowed-variable-names
var VARIABLE_NAME_RE = '[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*';
// placeholder for recursive self-reference
var DEFAULT = { lexemes: VARIABLE_NAME_RE, keywords: KEYWORDS, illegal: /<\// };
var TYPE_ANNOTATION = {
className: 'type',
begin: /::/
};
var SUBTYPE = {
className: 'type',
begin: /<:/
var DEFAULT = {
lexemes: VARIABLE_NAME_RE, keywords: KEYWORDS, illegal: /<\//
};
// ref: http://julia.readthedocs.org/en/latest/manual/integers-and-floating-point-numbers/
@@ -163,13 +143,17 @@ module.exports = function(hljs) {
DEFAULT.contains = [
NUMBER,
CHAR,
TYPE_ANNOTATION,
SUBTYPE,
STRING,
COMMAND,
MACROCALL,
COMMENT,
hljs.HASH_COMMENT_MODE
hljs.HASH_COMMENT_MODE,
{
className: 'keyword',
begin:
'\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b'
},
{begin: /<:/} // relevance booster
];
INTERPOLATION.contains = DEFAULT.contains;
@@ -31,17 +31,17 @@ module.exports = function(hljs) {
// for string templates
var SUBST = {
className: 'subst',
variants: [
{begin: '\\$' + hljs.UNDERSCORE_IDENT_RE},
{begin: '\\${', end: '}', contains: [hljs.APOS_STRING_MODE, hljs.C_NUMBER_MODE]}
]
begin: '\\${', end: '}', contains: [hljs.APOS_STRING_MODE, hljs.C_NUMBER_MODE]
};
var VARIABLE = {
className: 'variable', begin: '\\$' + hljs.UNDERSCORE_IDENT_RE
};
var STRING = {
className: 'string',
variants: [
{
begin: '"""', end: '"""',
contains: [SUBST]
contains: [VARIABLE, SUBST]
},
// Can't use built-in modes easily, as we want to use STRING in the meta
// context as 'meta-string' and there's no syntax to remove explicitly set
@@ -54,7 +54,7 @@ module.exports = function(hljs) {
{
begin: '"', end: '"',
illegal: /\n/,
contains: [hljs.BACKSLASH_ESCAPE, SUBST]
contains: [hljs.BACKSLASH_ESCAPE, VARIABLE, SUBST]
}
]
};
@@ -30,13 +30,13 @@ module.exports = function(hljs) {
'module next pairs pcall print rawequal rawget rawset require select setfenv' +
'setmetatable tonumber tostring type unpack xpcall arg self' +
//Library methods and properties (one line per library):
'coroutine resume yield status wrap create running debug getupvalue' +
'debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv' +
'io lines write close flush open output type read stderr stdin input stdout popen tmpfile' +
'math, log, max, acos, huge, ldexp, pi, cos, tanh, pow, deg, tan, cosh, sinh, random, randomseed, frexp, ceil, floor, rad, abs, sqrt, modf, asin, min, mod, fmod, log10, atan2, exp, sin, atan' +
'os, exit, setlocale, date, getenv, difftime, remove, time, clock, tmpname, rename, execute, package, preload, loadlib, loaded, loaders, cpath, config path, seeall' +
'string, sub, upper, len, gfind, rep, find, match, char, dump, gmatch, reverse, byte, format, gsub, lower' +
'table, setn, insert, getn, foreachi, maxn, foreach, concat, sort, remove'
'coroutine resume yield status wrap create running debug getupvalue ' +
'debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv ' +
'io lines write close flush open output type read stderr stdin input stdout popen tmpfile ' +
'math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan ' +
'os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall ' +
'string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower ' +
'table setn insert getn foreachi maxn foreach concat sort remove'
},
contains: COMMENTS.concat([
{
@@ -1,44 +1,80 @@
module.exports = function(hljs) {
/* Variables: simple (eg $(var)) and special (eg $@) */
var VARIABLE = {
className: 'variable',
begin: /\$\(/, end: /\)/,
contains: [hljs.BACKSLASH_ESCAPE]
variants: [
{
begin: '\\$\\(' + hljs.UNDERSCORE_IDENT_RE + '\\)',
contains: [hljs.BACKSLASH_ESCAPE],
},
{
begin: /\$[@%<?\^\+\*]/
},
]
};
return {
aliases: ['mk', 'mak'],
/* Quoted string with variables inside */
var QUOTE_STRING = {
className: 'string',
begin: /"/, end: /"/,
contains: [
hljs.BACKSLASH_ESCAPE,
VARIABLE,
]
};
/* Function: $(func arg,...) */
var FUNC = {
className: 'variable',
begin: /\$\([\w-]+\s/, end: /\)/,
keywords: {
built_in:
'subst patsubst strip findstring filter filter-out sort ' +
'word wordlist firstword lastword dir notdir suffix basename ' +
'addsuffix addprefix join wildcard realpath abspath error warning ' +
'shell origin flavor foreach if or and call eval file value',
},
contains: [
VARIABLE,
]
};
/* Variable assignment */
var VAR_ASSIG = {
begin: '^' + hljs.UNDERSCORE_IDENT_RE + '\\s*[:+?]?=',
illegal: '\\n',
returnBegin: true,
contains: [
hljs.HASH_COMMENT_MODE,
{
begin: /^\w+\s*\W*=/, returnBegin: true,
relevance: 0,
starts: {
end: /\s*\W*=/, excludeEnd: true,
starts: {
end: /$/,
relevance: 0,
contains: [
VARIABLE
]
}
}
},
{
className: 'section',
begin: /^[\w]+:\s*$/
},
{
className: 'meta',
begin: /^\.PHONY:/, end: /$/,
keywords: {'meta-keyword': '.PHONY'}, lexemes: /[\.\w]+/
},
{
begin: /^\t+/, end: /$/,
relevance: 0,
contains: [
hljs.QUOTE_STRING_MODE,
VARIABLE
]
begin: '^' + hljs.UNDERSCORE_IDENT_RE, end: '[:+?]?=',
excludeEnd: true,
}
]
};
/* Meta targets (.PHONY) */
var META = {
className: 'meta',
begin: /^\.PHONY:/, end: /$/,
keywords: {'meta-keyword': '.PHONY'},
lexemes: /[\.\w]+/
};
/* Targets */
var TARGET = {
className: 'section',
begin: /^[^\s]+:/, end: /$/,
contains: [VARIABLE,]
};
return {
aliases: ['mk', 'mak'],
keywords:
'define endef undefine ifdef ifndef ifeq ifneq else endif ' +
'include -include sinclude override export unexport private vpath',
lexemes: /[\w-]+/,
contains: [
hljs.HASH_COMMENT_MODE,
VARIABLE,
QUOTE_STRING,
FUNC,
VAR_ASSIG,
META,
TARGET,
]
};
};

Some files were not shown because too many files have changed in this diff Show More