From 55f2cd99b9d223483a4d5f6537f6f7f0c1f36758 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 09:17:59 -0500 Subject: [PATCH 01/33] Initial construction of the python-run-terminal package --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 9af69b3..921d46a 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { - "name": "atom-python-run", + "name": "python-run-terminalnx", "main": "./lib/atom-python-run.js", "version": "0.6.2", "description": "Run a python source file.", "keywords": [ "python" ], - "repository": "https://github.com/foreshadow/atom-python-run", + "repository": "https://github.com/jacquexgithub/python-run-terminalnx", "license": "MIT", "engines": { "atom": ">=1.0.0 <2.0.0" From ef1d41f29e4369c1adfa4ca91a27185c42b9cd61 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 09:19:28 -0500 Subject: [PATCH 02/33] Prepare 0.6.3 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 921d46a..fe283d4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/atom-python-run.js", - "version": "0.6.2", + "version": "0.6.3", "description": "Run a python source file.", "keywords": [ "python" From 8ff4c76e5dbdcbfc4ae7be9a8084babfc11985e0 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 09:36:04 -0500 Subject: [PATCH 03/33] Initial construction of the python-run-terminal package --- ...python-run.js => python-run-terminalnx.js} | 34 +++++++++++++++---- package.json | 16 ++++++--- 2 files changed, 39 insertions(+), 11 deletions(-) rename lib/{atom-python-run.js => python-run-terminalnx.js} (50%) mode change 100644 => 100755 diff --git a/lib/atom-python-run.js b/lib/python-run-terminalnx.js old mode 100644 new mode 100755 similarity index 50% rename from lib/atom-python-run.js rename to lib/python-run-terminalnx.js index e284e84..415cc91 --- a/lib/atom-python-run.js +++ b/lib/python-run-terminalnx.js @@ -6,9 +6,21 @@ const child_process = require("child_process"); module.exports = { activate: () => { - atom.commands.add("atom-text-editor", "Python run: run", run); + atom.commands.add("atom-text-editor", "Python run in terminal: run", run); }, config: { + a_terminal_selection: { + title: "Select the Linux terminal emulator", + description: "Linux terminal emulators supported are `gnome-terminal, konsole, xterm and uxterm`", + type: "string", + default: "gnome-terminal" + }, + command_line_arguments: { + title: "Python Command Line Arguments", + description: "Enter the arguments separated by the pipe symbol (|). For example: `this is a string|7|1.82|True`", + type: "string", + default: "" + }, disable_notifications: { title: "Disable notifications of success", description: "Disable notifications of saving and running", @@ -31,27 +43,35 @@ function run() { } var file = editor.buffer.file; if (!file) { - //if (!atom.config.get("atom-python-run.disable_notifications_on_fail")) { + //if (!atom.config.get("python-run-terminal.disable_notifications_on_fail")) { atom.notifications.add("warning", "You have to create the file first."); //} return; } - if (!atom.config.get("atom-python-run.disable_notifications")) { + if (!atom.config.get("python-run-terminal.disable_notifications")) { atom.notifications.add("info", "Saving..."); } editor.save(); var info = path.parse(file.path); if (info.ext != ".py") { - if (!atom.config.get("atom-python-run.disable_notifications_on_fail")) { + if (!atom.config.get("python-run-terminal.disable_notifications_on_fail")) { atom.notifications.add("warning", info.base + " is not a .py file, exit."); } return; } - if (!atom.config.get("atom-python-run.disable_notifications")) { + if (!atom.config.get("python-run-terminal.disable_notifications")) { atom.notifications.add("info", "Running " + info.base + " ..."); } - var child = child_process.spawn("cmd", [ - "/c", "start", __dirname + "/../bin/cp.exe", "python.exe", "\"" + file.path + "\"" + + var sel_term = atom.config.get("python-run-terminal.a_terminal_selection") + var ex_op = "-x" + var c_l_a = atom.config.get("python-run-terminal.command_line_arguments") + if (sel_term != "gnome-terminal") { + var ex_op = "-e" + } + + var child = child_process.spawn(sel_term, [ + ex_op, "/bin/bash", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a ], { cwd: info.dir, detached: true diff --git a/package.json b/package.json index fe283d4..c99c720 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,23 @@ { "name": "python-run-terminalnx", - "main": "./lib/atom-python-run.js", + "main": "./lib/python-run-terminalnx.js", "version": "0.6.3", - "description": "Run a python source file.", + "description": "Run a python source file in a Linux Terminal.", "keywords": [ - "python" + "python", + "terminal", + "gnome-terminal", + "konsole", + "xterm", + "uxterm", + "linux" ], "repository": "https://github.com/jacquexgithub/python-run-terminalnx", "license": "MIT", "engines": { "atom": ">=1.0.0 <2.0.0" }, - "dependencies": {} + "dependencies": { + "python": "3.x" + } } From ccd89153e7071f12c1b9e8992456581f611cdf4d Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 09:38:25 -0500 Subject: [PATCH 04/33] Prepare 0.6.4 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c99c720..37c2f88 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "0.6.3", + "version": "0.6.4", "description": "Run a python source file in a Linux Terminal.", "keywords": [ "python", From 2869175eadd006c6e9edda767e4b975b8e53533f Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 11:11:56 -0500 Subject: [PATCH 05/33] Initial construction of the python-run-terminal package --- CHANGELOG.md | 3 +++ LICENSE.md | 2 +- README.md | 32 +++++++++++++---------------- bin/cp.exe | Bin 47944 -> 0 bytes bin/libgcc_s_dw2-1.dll | Bin 43008 -> 0 bytes bin/run_python_code.sh | 30 +++++++++++++++++++++++++++ keymaps/atom-python-run.json | 6 ------ keymaps/python-run-terminalnx.json | 6 ++++++ lib/python-run-terminalnx.js | 31 +++++++++++++++++++--------- package.json | 1 + resources/preview.png | Bin 0 -> 39850 bytes src/cp.cpp | 24 ---------------------- 12 files changed, 76 insertions(+), 59 deletions(-) delete mode 100644 bin/cp.exe delete mode 100644 bin/libgcc_s_dw2-1.dll create mode 100755 bin/run_python_code.sh delete mode 100644 keymaps/atom-python-run.json create mode 100755 keymaps/python-run-terminalnx.json create mode 100755 resources/preview.png delete mode 100644 src/cp.cpp diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f1b18e..bafda3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## v1.0.0 +* Initial version of python-run-terminalnx package + ## 0.6.2 * Fix bug: Uncaught TypeError: Cannot read property 'path' of null diff --git a/LICENSE.md b/LICENSE.md index 5f3f537..8557467 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2016 +Copyright (c) 2017 Jaime Dávila Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/README.md b/README.md index 58ec897..4cd35a8 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,29 @@ -# atom-python-run package -[![GitHub issues](https://img.shields.io/github/issues/foreshadow/atom-python-run.svg?style=plastic)](https://github.com/foreshadow/atom-python-run/issues) -[![GitHub stars](https://img.shields.io/github/stars/foreshadow/atom-python-run.svg?style=plastic)](https://github.com/foreshadow/atom-python-run/stargazers) -[![GitHub forks](https://img.shields.io/github/forks/foreshadow/atom-python-run.svg?style=plastic)](https://github.com/foreshadow/atom-python-run/network) -[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=plastic)](https://raw.githubusercontent.com/foreshadow/atom-python-run/master/LICENSE.md) +# python-run-terminalnx package +[![GitHub issues](https://img.shields.io/github/issues/jacquexgithub/python-run-terminalnx.svg?style=plastic)](https://github.com/jacquexgithub/python-run-terminalnx/issues) +[![GitHub stars](https://img.shields.io/github/stars/jacquexgithub/python-run-terminalnx.svg?style=plastic)](https://github.com/jacquexgithub/python-run-terminalnx/stargazers) +[![GitHub forks](https://img.shields.io/github/forks/jacquexgithub/python-run-terminalnx.svg?style=plastic)](https://github.com/jacquexgithub/python-run-terminalnx/network) +[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=plastic)](https://github.com/jacquexgithub/python-run-terminalnx/master/LICENSE.md) -Run your python source file (.py) using `F5` or `F6`! - -![](https://cloud.githubusercontent.com/assets/2712675/18710388/9a665ed8-8037-11e6-803a-35e4555e89d0.jpg) +Run your python source file (.py) in a Linux terminal, using `F5` or `F6`! +![Screenshot](https://github.com/jacquexgithub/python-run-terminalnx/blob/master/resources/preview.png?raw=true "Preview") # Prerequisite -- Windows -- Add the directory of python.exe to ```PATH```. +- Linux +- python 3.x # Method of use 1. Open a .py file. 2. Hit `F5` or `F6` to run. - - **It will save the file in current editor immediately without a confirmation, be aware.** + - **It will save the file in current editor immediately without a confirmation, be aware.** # Features -- Using `python.exe` - - Almost the same console with python IDLE, which provides syntax error and runtime error messages. -- CodeBlocks debug console style - - Shows return value and execution time - - It is a rough time based on real time rather than CPU kernel time or CPU user time -- New an issue if you have any idea of new features. +- Using `/usr/bin/python` + - Almost the same console/terminal with python IDLE, which provides syntax error and runtime error messages. +- Shows the colored return value. Blue when the program ends successfully and red otherwise. ![A screenshot of your package](https://f.cloud.github.com/assets/69169/2290250/c35d867a-a017-11e3-86be-cd7c5bf3ff9b.gif) -This is a package for Atom +This is a package for Atom with Linux diff --git a/bin/cp.exe b/bin/cp.exe deleted file mode 100644 index 6d7232a0e3c01c12f5e837361561425fbc902147..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47944 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 N!2kE}|4$V7{{Yh0Vj} -1; + } + + if (!(isInArray(supported_terminals, sel_term))) { + atom.notifications.add("warning", sel_term + " is not a supported linux terminal."); + return; + } + + if (!atom.config.get("python-run-terminalnx.disable_notifications")) { atom.notifications.add("info", "Saving..."); } editor.save(); var info = path.parse(file.path); if (info.ext != ".py") { - if (!atom.config.get("python-run-terminal.disable_notifications_on_fail")) { + if (!atom.config.get("python-run-terminalnx.disable_notifications_on_fail")) { atom.notifications.add("warning", info.base + " is not a .py file, exit."); } return; } - if (!atom.config.get("python-run-terminal.disable_notifications")) { + if (!atom.config.get("python-run-terminalnx.disable_notifications")) { atom.notifications.add("info", "Running " + info.base + " ..."); } - var sel_term = atom.config.get("python-run-terminal.a_terminal_selection") - var ex_op = "-x" - var c_l_a = atom.config.get("python-run-terminal.command_line_arguments") - if (sel_term != "gnome-terminal") { - var ex_op = "-e" + var ex_op = "-x"; + var c_l_a = atom.config.get("python-run-terminalnx.command_line_arguments") + if (sel_term != "gnome-terminal" && sel_term != "terminator") { + var ex_op = "-e"; } var child = child_process.spawn(sel_term, [ diff --git a/package.json b/package.json index 37c2f88..c83c2a0 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "terminal", "gnome-terminal", "konsole", + "terminator" "xterm", "uxterm", "linux" diff --git a/resources/preview.png b/resources/preview.png new file mode 100755 index 0000000000000000000000000000000000000000..b52c82fa3b661e8025b89b902b75631789bac84f GIT binary patch literal 39850 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 m?}5}p!3ZgxNT#S6d5rz literal 0 HcmV?d00001 diff --git a/src/cp.cpp b/src/cp.cpp deleted file mode 100644 index 3698f34..0000000 --- a/src/cp.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include -#include -#include - -int main(int argc, char *argv[]) -{ - char cmd[4096]; - strcpy(cmd, "title "); // prepend title - for (int i = 1; i < argc; i++) { - strcat(cmd, argv[i]); - strcat(cmd, " "); - } - system(cmd); // reset title - int t = clock(); - int r = system(cmd + 6); // origin command - t = clock() - t; - printf("\n" - "Process returned %d (0x%X) execution time : %.3f s\n" - /*"Press any key to continue.\n"*/, - r, r, t / 1000.); - system("pause"); - return r; -} From 7520d5adf8d90726a69b064aacfa6b1ca7ef3cf2 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 11:15:35 -0500 Subject: [PATCH 06/33] Initial construction of the python-run-terminal package --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c83c2a0..4885d5a 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "terminal", "gnome-terminal", "konsole", - "terminator" + "terminator", "xterm", "uxterm", "linux" From 0b7aee897de896bd5f6824aa1e9793c63d5afee5 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 11:17:11 -0500 Subject: [PATCH 07/33] Prepare 1.0.0 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4885d5a..975bd3d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "0.6.4", + "version": "1.0.0", "description": "Run a python source file in a Linux Terminal.", "keywords": [ "python", From 691d784207ce51d1c205c92d8db1bcdd2a0ee165 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 11:34:02 -0500 Subject: [PATCH 08/33] Initial construction of the python-run-terminal package --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 975bd3d..b0a1b00 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,5 @@ "atom": ">=1.0.0 <2.0.0" }, "dependencies": { - "python": "3.x" } } From 5b3c088574f05aa6ae25198424ac5dbd4f99383a Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 11:35:00 -0500 Subject: [PATCH 09/33] Prepare 1.0.1 release --- package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index b0a1b00..c63ea2e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.0.0", + "version": "1.0.1", "description": "Run a python source file in a Linux Terminal.", "keywords": [ "python", @@ -18,6 +18,5 @@ "engines": { "atom": ">=1.0.0 <2.0.0" }, - "dependencies": { - } + "dependencies": {} } From 048c82b6eedf7e30d191dd47b04ced408e7d72c4 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 16:47:40 -0500 Subject: [PATCH 10/33] Bug in run_python_code --- bin/run_python_code.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/run_python_code.sh b/bin/run_python_code.sh index 891519a..5511ce1 100755 --- a/bin/run_python_code.sh +++ b/bin/run_python_code.sh @@ -10,7 +10,6 @@ for ((i = 0; i < ${#la[@]}; ++i)) do done python "$1" ${arg_l_c[@]} -echo python "$1" ${arg_l_c[@]} if [ $? -eq 0 ]; then echo -e " From d0fcefa89890bdc61688d36beda72a47f6f6dcff Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 31 Dec 2016 16:48:41 -0500 Subject: [PATCH 11/33] Prepare 1.0.2 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c63ea2e..a31fd06 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.0.1", + "version": "1.0.2", "description": "Run a python source file in a Linux Terminal.", "keywords": [ "python", From 8f3355fdc4dc2e827963fc92d5fd3520aadbb5d2 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Mon, 2 Jan 2017 12:41:19 -0500 Subject: [PATCH 12/33] Bug in run_python_code and add xfce4-terminal support --- CHANGELOG.md | 4 ++++ bin/run_python_code.sh | 2 +- lib/python-run-terminalnx.js | 8 ++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bafda3b..94c745c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## v1.0.3 +* Fix bug: run_python_code.sh interpret it with sh no with bash +* Add support for xfce4-terminal + ## v1.0.0 * Initial version of python-run-terminalnx package diff --git a/bin/run_python_code.sh b/bin/run_python_code.sh index 5511ce1..913f8e7 100755 --- a/bin/run_python_code.sh +++ b/bin/run_python_code.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh oldIFS=$IFS IFS='' arg_l_c=() diff --git a/lib/python-run-terminalnx.js b/lib/python-run-terminalnx.js index a8082aa..454ec2a 100755 --- a/lib/python-run-terminalnx.js +++ b/lib/python-run-terminalnx.js @@ -11,7 +11,7 @@ module.exports = { config: { a_terminal_selection: { title: "Select the Linux terminal emulator", - description: "Linux terminal emulators supported are `gnome-terminal, konsole, terminator, xterm and uxterm`", + description: "Linux terminal emulators supported are `gnome-terminal, konsole, xfce4-terminal, terminator, xterm and uxterm`", type: "string", default: "gnome-terminal" }, @@ -48,7 +48,7 @@ function run() { //} return; } - var supported_terminals = ["gnome-terminal", "konsole", "terminator", "xterm", "uxterm"]; + var supported_terminals = ["gnome-terminal", "konsole", "xfce4-terminal", "terminator", "xterm", "uxterm"]; var sel_term = atom.config.get("python-run-terminalnx.a_terminal_selection"); function isInArray(sup_terms, term) { @@ -77,12 +77,12 @@ function run() { var ex_op = "-x"; var c_l_a = atom.config.get("python-run-terminalnx.command_line_arguments") - if (sel_term != "gnome-terminal" && sel_term != "terminator") { + if (sel_term != "gnome-terminal" && sel_term != "xfce4-terminal" && sel_term != "terminator") { var ex_op = "-e"; } var child = child_process.spawn(sel_term, [ - ex_op, "/bin/bash", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a + ex_op, "/bin/sh", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a ], { cwd: info.dir, detached: true From d174dc194fea0a31bc4f8cdcd0a38290ed1d0301 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Mon, 2 Jan 2017 12:43:32 -0500 Subject: [PATCH 13/33] Prepare 1.0.3 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a31fd06..8e4532a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.0.2", + "version": "1.0.3", "description": "Run a python source file in a Linux Terminal.", "keywords": [ "python", From 2cb7a66fbf6046fc8ad70993e9e301a63c57faed Mon Sep 17 00:00:00 2001 From: twdragon Date: Tue, 28 Mar 2017 21:09:15 +0300 Subject: [PATCH 14/33] Fix an issue of terminal auto-close behavior on Mint and other Ubuntu 16.04LTS-based distributuions --- CHANGELOG.md | 3 +++ bin/run_python_code.sh | 3 ++- lib/python-run-terminalnx.js | 10 +++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94c745c..a79fcfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +##v1.0.4 +* Fix shell issue for Ubuntu 16.04LTS based distributions + ## v1.0.3 * Fix bug: run_python_code.sh interpret it with sh no with bash * Add support for xfce4-terminal diff --git a/bin/run_python_code.sh b/bin/run_python_code.sh index 913f8e7..4da471b 100755 --- a/bin/run_python_code.sh +++ b/bin/run_python_code.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash oldIFS=$IFS IFS='' arg_l_c=() @@ -27,3 +27,4 @@ echo "Press return to continue" dummy_var="" read dummy_var IFS=$old_IFS + diff --git a/lib/python-run-terminalnx.js b/lib/python-run-terminalnx.js index 454ec2a..6bf4ed8 100755 --- a/lib/python-run-terminalnx.js +++ b/lib/python-run-terminalnx.js @@ -50,7 +50,7 @@ function run() { } var supported_terminals = ["gnome-terminal", "konsole", "xfce4-terminal", "terminator", "xterm", "uxterm"]; var sel_term = atom.config.get("python-run-terminalnx.a_terminal_selection"); - + function isInArray(sup_terms, term) { return sup_terms.indexOf(term.toLowerCase()) > -1; } @@ -58,8 +58,8 @@ function run() { if (!(isInArray(supported_terminals, sel_term))) { atom.notifications.add("warning", sel_term + " is not a supported linux terminal."); return; - } - + } + if (!atom.config.get("python-run-terminalnx.disable_notifications")) { atom.notifications.add("info", "Saving..."); } @@ -80,12 +80,12 @@ function run() { if (sel_term != "gnome-terminal" && sel_term != "xfce4-terminal" && sel_term != "terminator") { var ex_op = "-e"; } - var child = child_process.spawn(sel_term, [ - ex_op, "/bin/sh", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a + ex_op, "/bin/bash", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a ], { cwd: info.dir, detached: true }); child.unref(); } + From 364ddc08396c943f87073fda3b0833e7ad4bf753 Mon Sep 17 00:00:00 2001 From: twdragon Date: Tue, 28 Mar 2017 21:15:06 +0300 Subject: [PATCH 15/33] CHANGELOG cosmetics --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a79fcfb..a2aa4ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -##v1.0.4 +## v1.0.4 * Fix shell issue for Ubuntu 16.04LTS based distributions ## v1.0.3 From 755a628eee7c5b1610289e13c40b90f07544ab92 Mon Sep 17 00:00:00 2001 From: Tiberiu Patrascu Date: Fri, 16 Jun 2017 01:42:56 +0300 Subject: [PATCH 16/33] change child process to bash --- lib/python-run-terminalnx.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python-run-terminalnx.js b/lib/python-run-terminalnx.js index 454ec2a..0edc342 100755 --- a/lib/python-run-terminalnx.js +++ b/lib/python-run-terminalnx.js @@ -82,7 +82,7 @@ function run() { } var child = child_process.spawn(sel_term, [ - ex_op, "/bin/sh", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a + ex_op, "/bin/bash", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a ], { cwd: info.dir, detached: true From 02326260ea80620771baa5a80950c5e156f049f7 Mon Sep 17 00:00:00 2001 From: Tiberiu Patrascu Date: Fri, 16 Jun 2017 01:43:24 +0300 Subject: [PATCH 17/33] change shell to bash --- bin/run_python_code.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/run_python_code.sh b/bin/run_python_code.sh index 913f8e7..5511ce1 100755 --- a/bin/run_python_code.sh +++ b/bin/run_python_code.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash oldIFS=$IFS IFS='' arg_l_c=() From 0dff4c05092a544e176d472f724ca51d80d16548 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Wed, 10 Jan 2018 12:28:05 -0500 Subject: [PATCH 18/33] Support for terminals in Windows and Linux --- LICENSE.md | 2 +- README.md | 21 +++-- bin/run_python_code.sh | 16 ++-- keymaps/python-run-terminalnx.json | 4 +- lib/python-run-terminalnx.js | 127 +++++++++++++++++------------ package.json | 10 ++- 6 files changed, 110 insertions(+), 70 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 8557467..66a670a 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2017 Jaime Dávila +Copyright (c) 2018 Jaime Dávila Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/README.md b/README.md index 4cd35a8..fe6a35a 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,12 @@ [![GitHub forks](https://img.shields.io/github/forks/jacquexgithub/python-run-terminalnx.svg?style=plastic)](https://github.com/jacquexgithub/python-run-terminalnx/network) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=plastic)](https://github.com/jacquexgithub/python-run-terminalnx/master/LICENSE.md) -Run your python source file (.py) in a Linux terminal, using `F5` or `F6`! +Run your python source file (.py) on Windows or Linux, using `F5` or `F6`! ![Screenshot](https://github.com/jacquexgithub/python-run-terminalnx/blob/master/resources/preview.png?raw=true "Preview") # Prerequisite -- Linux -- python 3.x +- Add the directory of `python` (or the intended interpreter) to ```PATH```. # Method of use @@ -20,10 +19,22 @@ Run your python source file (.py) in a Linux terminal, using `F5` or `F6`! # Features -- Using `/usr/bin/python` +- Using `python` - Almost the same console/terminal with python IDLE, which provides syntax error and runtime error messages. - Shows the colored return value. Blue when the program ends successfully and red otherwise. +- Make a `pause` + - You can disable the default pause after finishing the execution of a program. +- Python Command Line Arguments + - You can pass command line arguments to your python scripts. + +# Compatibility + +- Cross Platform Compatible + - Runs on Windows, and Linux +- True Arbitrary Execution + - Global python is the default interpreter + ![A screenshot of your package](https://f.cloud.github.com/assets/69169/2290250/c35d867a-a017-11e3-86be-cd7c5bf3ff9b.gif) -This is a package for Atom with Linux +This is a package for Atom diff --git a/bin/run_python_code.sh b/bin/run_python_code.sh index 4da471b..d70ddc9 100755 --- a/bin/run_python_code.sh +++ b/bin/run_python_code.sh @@ -5,7 +5,11 @@ arg_l_c=() IFS="|" read -a la <<< "$2"; for ((i = 0; i < ${#la[@]}; ++i)) do if [ "${la[i]}" != "" ]; then - arg_l_c+=("${la[i]}") + if [ "${la[i]}" == "_-:ON PAUSE:-_" ] || [ "${la[i]}" == "_-:OFF PAUSE:-_" ]; then + do_pause="${la[i]}" + else + arg_l_c+=("${la[i]}") + fi fi done @@ -14,7 +18,7 @@ python "$1" ${arg_l_c[@]} if [ $? -eq 0 ]; then echo -e " -\e[1;34m================================= +\e[1;36m================================= (The program exited with code: $?)\e[0m" else echo -e " @@ -22,9 +26,7 @@ else \e[1;31m================================= (The program exited with code: $?)\e[0m" fi - -echo "Press return to continue" -dummy_var="" -read dummy_var +if [ "$do_pause" == "_-:ON PAUSE:-_" ]; then + read -rsp $'Press any key to continue...\n' -n 1 key +fi IFS=$old_IFS - diff --git a/keymaps/python-run-terminalnx.json b/keymaps/python-run-terminalnx.json index 14cc3a1..829814b 100755 --- a/keymaps/python-run-terminalnx.json +++ b/keymaps/python-run-terminalnx.json @@ -1,6 +1,6 @@ { "atom-text-editor": { - "f5": "Python run in terminal: run", - "f6": "Python run in terminal: run" + "f5": "Python run in a command line terminal: run", + "f6": "Python run in a command line terminal: run" } } diff --git a/lib/python-run-terminalnx.js b/lib/python-run-terminalnx.js index 6bf4ed8..b034354 100755 --- a/lib/python-run-terminalnx.js +++ b/lib/python-run-terminalnx.js @@ -6,33 +6,47 @@ const child_process = require("child_process"); module.exports = { activate: () => { - atom.commands.add("atom-text-editor", "Python run in terminal: run", run); + atom.commands.add("atom-text-editor", "Python run in a command line terminal: run", run); }, config: { - a_terminal_selection: { - title: "Select the Linux terminal emulator", - description: "Linux terminal emulators supported are `gnome-terminal, konsole, xfce4-terminal, terminator, xterm and uxterm`", - type: "string", - default: "gnome-terminal" - }, - command_line_arguments: { - title: "Python Command Line Arguments", - description: "Enter the arguments separated by the pipe symbol (|). For example: `this is a string|7|1.82|True`", - type: "string", - default: "" - }, - disable_notifications: { - title: "Disable notifications of success", - description: "Disable notifications of saving and running", - type: "boolean", - default: false - }, - disable_notifications_on_fail: { - title: "Disable notifications of failure", - description: "Disable notifications of extension name does not match", - type: "boolean", - default: false - } + a_terminal_selection: { + title: "Select the command line terminal", + description: "For Windows, select `cmd` and for Linux, select the compatible terminal emulators like `gnome-terminal, konsole, xfce4-terminal, deepin-terminal and terminator`", + type: "string", + default: "cmd", + enum: [ + {value: 'cmd', description: 'cmd. Windows command line interpreter'}, + {value: 'gnome-terminal', description: 'gnome-terminal. Terminal emulator for GNOME Desktop Environment'}, + {value: 'konsole', description: 'konsole. Terminal emulator for KDE Desktop Environment'}, + {value: 'xfce4-terminal', description: 'xfce4-terminal. Terminal emulator for XFCE Desktop Environment'}, + {value: 'deepin-terminal', description: 'deepin-terminal. Terminal emulator for Deepin Desktop Environment'}, + {value: 'terminator', description: 'terminator. Terminal emulator for any Desktop Environment'} + ] + }, + b_pause: { + title: 'Pause', + description: 'Show a pause at the finish of program execution', + type: 'boolean', + default: true + }, + command_line_arguments: { + title: "Python Command Line Arguments", + description: "Enter the arguments separated by the pipe symbol (|). For example: `this is a string|7|1.82|True`", + type: "string", + default:"" + }, + disable_notifications: { + title: "Disable notifications of success", + description: "Disable notifications of saving and running", + type: "boolean", + default: false + }, + disable_notifications_on_fail: { + title: "Disable notifications of failure", + description: "Disable notifications of extension name does not match", + type: "boolean", + default: false + } } }; @@ -43,27 +57,16 @@ function run() { } var file = editor.buffer.file; if (!file) { - //if (!atom.config.get("python-run-terminalnx.disable_notifications_on_fail")) { - atom.notifications.add("warning", "You have to create the file first."); - //} - return; - } - var supported_terminals = ["gnome-terminal", "konsole", "xfce4-terminal", "terminator", "xterm", "uxterm"]; - var sel_term = atom.config.get("python-run-terminalnx.a_terminal_selection"); - - function isInArray(sup_terms, term) { - return sup_terms.indexOf(term.toLowerCase()) > -1; - } - - if (!(isInArray(supported_terminals, sel_term))) { - atom.notifications.add("warning", sel_term + " is not a supported linux terminal."); + atom.notifications.add("warning", "You have to create the file first."); return; } + var sel_term = atom.config.get("python-run-terminalnx.a_terminal_selection"); if (!atom.config.get("python-run-terminalnx.disable_notifications")) { atom.notifications.add("info", "Saving..."); } editor.save(); + var info = path.parse(file.path); if (info.ext != ".py") { if (!atom.config.get("python-run-terminalnx.disable_notifications_on_fail")) { @@ -74,18 +77,40 @@ function run() { if (!atom.config.get("python-run-terminalnx.disable_notifications")) { atom.notifications.add("info", "Running " + info.base + " ..."); } - - var ex_op = "-x"; var c_l_a = atom.config.get("python-run-terminalnx.command_line_arguments") - if (sel_term != "gnome-terminal" && sel_term != "xfce4-terminal" && sel_term != "terminator") { - var ex_op = "-e"; + var b_pause = atom.config.get("python-run-terminalnx.b_pause") + + if (b_pause){ + c_l_a += "|" + "_-:ON PAUSE:-_"; + }else{ + c_l_a += "|" + "_-:OFF PAUSE:-_"; + atom.notifications.add("warning", "Running the program without pause at the end."); + } + if ('win32' === process.platform) { + var n_c_l_a = c_l_a.replace(/\|/g, ":@:"); + var child = child_process.spawn(sel_term, [ + "/S", "/C", "start", __dirname + "\\..\\bin\\run_python_code.bat", file.path, n_c_l_a + ]); + child.on('error', function(err) { + atom.notifications.add("error", sel_term + " is not a command line terminal installed in the system."); + }); + child.unref(); + } else if ('linux' === process.platform) { + var ex_op = "-x"; + if (sel_term != "gnome-terminal" && sel_term != "xfce4-terminal" && sel_term != "terminator") { + var ex_op = "-e"; + } + var child = child_process.spawn(sel_term, [ + ex_op, "/bin/bash", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a + ], { + cwd: info.dir, + detached: true + }); + child.on('error', function(err) { + atom.notifications.add("error", sel_term + " is not a command line terminal installed in the system."); + }); + child.unref(); + } else { + atom.notifications.add("error", process.platform + " is not a supported operating system."); } - var child = child_process.spawn(sel_term, [ - ex_op, "/bin/bash", __dirname + "/../bin/run_python_code.sh", file.path, c_l_a - ], { - cwd: info.dir, - detached: true - }); - child.unref(); } - diff --git a/package.json b/package.json index 8e4532a..b6cbd40 100644 --- a/package.json +++ b/package.json @@ -2,16 +2,18 @@ "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", "version": "1.0.3", - "description": "Run a python source file in a Linux Terminal.", + "description": "Run a python source file.", "keywords": [ "python", "terminal", "gnome-terminal", "konsole", + "xfce4-terminal", + "deepin-terminal", "terminator", - "xterm", - "uxterm", - "linux" + "cmd", + "linux", + "windows" ], "repository": "https://github.com/jacquexgithub/python-run-terminalnx", "license": "MIT", From 1830be4349f9391a1e750adbaaa820d9d6a4137c Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Wed, 10 Jan 2018 12:42:16 -0500 Subject: [PATCH 19/33] CHANGELOG cosmetics --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2aa4ab..78169ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## v1.1.0 +* Support for Windows and Linux +* Select a terminal through a drop-down list +* Optional pause when finishing the execution of a program + ## v1.0.4 * Fix shell issue for Ubuntu 16.04LTS based distributions From aff6efb43822df20d6f32da10fca8db18aa8ff3a Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Wed, 10 Jan 2018 12:50:19 -0500 Subject: [PATCH 20/33] Prepare 1.1.0 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b6cbd40..1d4f3aa 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.0.3", + "version": "1.1.0", "description": "Run a python source file.", "keywords": [ "python", From 9a67e7491a2075c7e0a49ddf9ec5f737a46f0432 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Wed, 10 Jan 2018 12:50:38 -0500 Subject: [PATCH 21/33] Prepare 1.1.1 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1d4f3aa..e420fab 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.1.0", + "version": "1.1.1", "description": "Run a python source file.", "keywords": [ "python", From dce6302a351549c57b0aba830964c78b8bbd249e Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Wed, 10 Jan 2018 12:50:51 -0500 Subject: [PATCH 22/33] Prepare 1.1.2 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e420fab..49ec209 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.1.1", + "version": "1.1.2", "description": "Run a python source file.", "keywords": [ "python", From 03414b58bea30c59f060e9efee1d2fe38c878edd Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Wed, 10 Jan 2018 12:54:04 -0500 Subject: [PATCH 23/33] CHANGELOG cosmetics --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78169ef..a03bb4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## v1.1.0 +## v1.1.2 * Support for Windows and Linux * Select a terminal through a drop-down list * Optional pause when finishing the execution of a program From 500a4aff705ef946579b9e567af4b93eab4a213f Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Wed, 10 Jan 2018 14:50:19 -0500 Subject: [PATCH 24/33] CHANGELOG cosmetics --- CHANGELOG.md | 2 +- resources/preview.png | Bin 39850 -> 35257 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a03bb4b..668b776 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## v1.1.2 +## v1.1.3 * Support for Windows and Linux * Select a terminal through a drop-down list * Optional pause when finishing the execution of a program diff --git a/resources/preview.png b/resources/preview.png index b52c82fa3b661e8025b89b902b75631789bac84f..10f0241c6422e05706de9d8b8f6962f518333a87 100755 GIT binary patch literal 35257 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 bsi6M@7>8~2`x_bB00000NkvXXu0mjfEr8_{ literal 39850 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 m?}5}p!3ZgxNT#S6d5rz From e06b0093f5f3784873269917c56c5ce3bb551b5a Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Wed, 10 Jan 2018 14:51:34 -0500 Subject: [PATCH 25/33] Prepare 1.1.3 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 49ec209..2999674 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.1.2", + "version": "1.1.3", "description": "Run a python source file.", "keywords": [ "python", From 0c5dc8be9095323bd59459a9e4645182c319ffeb Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 13 Jan 2018 21:35:36 -0500 Subject: [PATCH 26/33] Correction of errors and addition of the missing file run_python_code.bat --- .gitignore | 1 - CHANGELOG.md | 4 ++++ bin/run_python_code.bat | 43 ++++++++++++++++++++++++++++++++++++ lib/python-run-terminalnx.js | 2 +- package.json | 19 ++++++++++------ 5 files changed, 60 insertions(+), 9 deletions(-) create mode 100755 bin/run_python_code.bat diff --git a/.gitignore b/.gitignore index 1a353f5..6287bfb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ build -.DS_Store npm-debug.log node_modules diff --git a/CHANGELOG.md b/CHANGELOG.md index 668b776..dd513b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## v1.1.4 +* Bug in the file load run_python_code.bat on Windows +* Bugs in the passage of arguments from the command line + ## v1.1.3 * Support for Windows and Linux * Select a terminal through a drop-down list diff --git a/bin/run_python_code.bat b/bin/run_python_code.bat new file mode 100755 index 0000000..ddb08f1 --- /dev/null +++ b/bin/run_python_code.bat @@ -0,0 +1,43 @@ +@echo off +setlocal ENABLEDELAYEDEXPANSION +REM spawn the child +REM it's tricky because shift doesn't affect %*, so hack it out +REM https://en.wikibooks.org/wiki/Windows_Batch_Scripting#Command-line_arguments +set file_python=%1 +set args=%2 + +set on_p=_-:ON PAUSE:-_ +set b_pause=true +echo %args% | findstr /R /C:"\<*%on_p%\>" 1> nul +if %ERRORLEVEL% == 1 ( + set b_pause=false +) + +set args=%args::@:=" "% +if !b_pause! == true ( + set args=%args: "_-:ON PAUSE:-_"=% +) else ( + set args=%args: "_-:OFF PAUSE:-_"=% +) + +if !args! == "" ( + python %file_python% +) else ( + set args=%args:"_-:ON PAUSE:-_"=% + set args=%args:"_-:OFF PAUSE:-_"=% + python %file_python% %args% +) +echo: +echo: +if %ERRORLEVEL%==0 ( + echo:================================= + echo:^(The programa exited with code: %ERRORLEVEL%^) +) else ( + echo:================================= + echo:^(The programa exited with code: %ERRORLEVEL%^) +) + +if %b_pause% == true ( + pause +) +exit %ERRORLEVEL% diff --git a/lib/python-run-terminalnx.js b/lib/python-run-terminalnx.js index b034354..ada5d5a 100755 --- a/lib/python-run-terminalnx.js +++ b/lib/python-run-terminalnx.js @@ -11,7 +11,7 @@ module.exports = { config: { a_terminal_selection: { title: "Select the command line terminal", - description: "For Windows, select `cmd` and for Linux, select the compatible terminal emulators like `gnome-terminal, konsole, xfce4-terminal, deepin-terminal and terminator`", + description: "For Windows, select `cmd` and for Linux, select the compatible terminal emulators like `gnome-terminal, konsole, xfce4-terminal, deepin-terminal or terminator`", type: "string", default: "cmd", enum: [ diff --git a/package.json b/package.json index 2999674..050faa4 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,9 @@ { - "name": "python-run-terminalnx", - "main": "./lib/python-run-terminalnx.js", - "version": "1.1.3", "description": "Run a python source file.", + "engines": { + "atom": ">=1.0.0 <2.0.0" + }, + "homepage": "https://github.com/jacquexgithub/python-run-terminalnx#readme", "keywords": [ "python", "terminal", @@ -15,10 +16,14 @@ "linux", "windows" ], - "repository": "https://github.com/jacquexgithub/python-run-terminalnx", "license": "MIT", - "engines": { - "atom": ">=1.0.0 <2.0.0" + "main": "./lib/python-run-terminalnx.js", + "name": "python-run-terminalnx", + "readmeFilename": "README.md", + "repository": { + "type": "git", + "url": "git+https://github.com/jacquexgithub/python-run-terminalnx.git" }, - "dependencies": {} + "dependencies": {}, + "version": "1.1.3" } From 783d2ed991db86e5216b0db307a3808de436e8a5 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 13 Jan 2018 21:37:41 -0500 Subject: [PATCH 27/33] Prepare 1.1.4 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 050faa4..cd17749 100644 --- a/package.json +++ b/package.json @@ -25,5 +25,5 @@ "url": "git+https://github.com/jacquexgithub/python-run-terminalnx.git" }, "dependencies": {}, - "version": "1.1.3" + "version": "1.1.4" } From ac3ceb2dcd1c7b830823286e084819a4242c782c Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 13 Jan 2018 21:45:55 -0500 Subject: [PATCH 28/33] Correction of errors and addition of the missing file run_python_code.bat --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd513b7..c8b49a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## v1.1.4 +## v1.1.5 * Bug in the file load run_python_code.bat on Windows * Bugs in the passage of arguments from the command line From 7dd200749b3983b5fab59091e2d4e231eb72a4eb Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 13 Jan 2018 21:49:04 -0500 Subject: [PATCH 29/33] Correction of errors and addition of the missing file run_python_code.bat --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8b49a8..98e9984 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## v1.1.5 +## v1.1.6 * Bug in the file load run_python_code.bat on Windows * Bugs in the passage of arguments from the command line diff --git a/package.json b/package.json index cd17749..ae6d7a8 100644 --- a/package.json +++ b/package.json @@ -25,5 +25,5 @@ "url": "git+https://github.com/jacquexgithub/python-run-terminalnx.git" }, "dependencies": {}, - "version": "1.1.4" + "version": "1.1.6" } From 052ddaa7da763aaa3fbe7f644d2915a2873ea1cb Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 13 Jan 2018 22:08:23 -0500 Subject: [PATCH 30/33] CHANGELOG cosmetics --- CHANGELOG.md | 2 +- package.json | 19 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98e9984..e58d3cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## v1.1.6 +## v1.1.7 * Bug in the file load run_python_code.bat on Windows * Bugs in the passage of arguments from the command line diff --git a/package.json b/package.json index ae6d7a8..787a2f5 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,8 @@ { + "name": "python-run-terminalnx", + "main": "./lib/python-run-terminalnx.js", + "version": "1.1.7", "description": "Run a python source file.", - "engines": { - "atom": ">=1.0.0 <2.0.0" - }, - "homepage": "https://github.com/jacquexgithub/python-run-terminalnx#readme", "keywords": [ "python", "terminal", @@ -16,14 +15,10 @@ "linux", "windows" ], + "repository": "https://github.com/jacquexgithub/python-run-terminalnx", "license": "MIT", - "main": "./lib/python-run-terminalnx.js", - "name": "python-run-terminalnx", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/jacquexgithub/python-run-terminalnx.git" + "engines": { + "atom": ">=1.0.0 <2.0.0" }, - "dependencies": {}, - "version": "1.1.6" + "dependencies": {} } From 2df79b0e7ce033b08124795d43ce570b7ba027db Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 13 Jan 2018 22:10:25 -0500 Subject: [PATCH 31/33] Prepare 1.1.8 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 787a2f5..cb00a87 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.1.7", + "version": "1.1.8", "description": "Run a python source file.", "keywords": [ "python", From 03a089575b7dd0329a00cc20696403ea0744ee7e Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 13 Jan 2018 22:12:26 -0500 Subject: [PATCH 32/33] CHANGELOG cosmetics --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cb00a87..c238605 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.1.8", + "version": "1.1.6", "description": "Run a python source file.", "keywords": [ "python", From 8ac511662d9b9347156259000d6562bc42e14de4 Mon Sep 17 00:00:00 2001 From: jacquexgithub Date: Sat, 13 Jan 2018 22:12:54 -0500 Subject: [PATCH 33/33] Prepare 1.1.7 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c238605..787a2f5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "python-run-terminalnx", "main": "./lib/python-run-terminalnx.js", - "version": "1.1.6", + "version": "1.1.7", "description": "Run a python source file.", "keywords": [ "python",