Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-07 15:06:21 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-07 15:06:21 +0300
commit84a0e65ac88c7a3db86a0e4347606ba093490bef (patch)
tree860de954548b509e92f6f95a66c8c75cf389efb0 /app/assets/javascripts/ide/stores
parentbf3d94a7332ff411b654137a1d1288c399fceba4 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/ide/stores')
-rw-r--r--app/assets/javascripts/ide/stores/actions/file.js7
-rw-r--r--app/assets/javascripts/ide/stores/utils.js4
2 files changed, 9 insertions, 2 deletions
diff --git a/app/assets/javascripts/ide/stores/actions/file.js b/app/assets/javascripts/ide/stores/actions/file.js
index 59445afc7a4..0393f3859a9 100644
--- a/app/assets/javascripts/ide/stores/actions/file.js
+++ b/app/assets/javascripts/ide/stores/actions/file.js
@@ -5,7 +5,7 @@ import eventHub from '../../eventhub';
import service from '../../services';
import * as types from '../mutation_types';
import router from '../../ide_router';
-import { setPageTitle, replaceFileUrl } from '../utils';
+import { setPageTitle, replaceFileUrl, addFinalNewlineIfNeeded } from '../utils';
import { viewerTypes, stageKeys } from '../../constants';
export const closeFile = ({ commit, state, dispatch }, file) => {
@@ -140,7 +140,10 @@ export const getRawFileData = ({ state, commit, dispatch, getters }, { path }) =
export const changeFileContent = ({ commit, dispatch, state }, { path, content }) => {
const file = state.entries[path];
- commit(types.UPDATE_FILE_CONTENT, { path, content });
+ commit(types.UPDATE_FILE_CONTENT, {
+ path,
+ content: addFinalNewlineIfNeeded(content),
+ });
const indexOfChangedFile = state.changedFiles.findIndex(f => f.path === path);
diff --git a/app/assets/javascripts/ide/stores/utils.js b/app/assets/javascripts/ide/stores/utils.js
index a8d8ff31afe..3ccb3722e6f 100644
--- a/app/assets/javascripts/ide/stores/utils.js
+++ b/app/assets/javascripts/ide/stores/utils.js
@@ -269,3 +269,7 @@ export const pathsAreEqual = (a, b) => {
return cleanA === cleanB;
};
+
+// if the contents of a file dont end with a newline, this function adds a newline
+export const addFinalNewlineIfNeeded = content =>
+ content.charAt(content.length - 1) !== '\n' ? `${content}\n` : content;